请问这个存储过程怎么写

zhuchong530 2005-09-15 11:42:07
请问,如果判断数据库里的一个字段的值为零,就将另一个字段的值写入到这个字段里面,
这个存储过程怎么写?
...全文
108 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smbeng 2005-09-16
  • 打赏
  • 举报
回复

update biao set ziduan1=(case when ziduan1=0 then ziduan2 else ziduan1 end)
samfeng_2003 2005-09-15
  • 打赏
  • 举报
回复
declare @s1 table
([id] int,m1 int,m2 int)

insert @s1
select 1,2,1 [union]
select 2,5,2 [union]
select 3,0,5 [union]
select 4,0,6

select * from @s1


update @s1 set m1 =
case m1
when 0 then m2
else m1
end
select * from @s1

id m1 m2
----------- ----------- -----------
1 2 1
2 5 2
3 0 5
4 0 6

(所影响的行数为 4 行)


(所影响的行数为 4 行)

id m1 m2
----------- ----------- -----------
1 2 1
2 5 2
3 5 5
4 6 6

(所影响的行数为 4 行)

要用我的数据验证,那么就要把union的括号去掉,因为我不加括号传不上来!
rivery 2005-09-15
  • 打赏
  • 举报
回复
create procedure testa
as
update tablename set col1=col2 where col1=0
go
zzxiaoma 2005-09-15
  • 打赏
  • 举报
回复
if ziduan1=0
update biao set ziduan1=ziduan2
filebat 2005-09-15
  • 打赏
  • 举报
回复
呵呵, 刚才没注意river的回帖.
失礼失礼
filebat 2005-09-15
  • 打赏
  • 举报
回复
/*
to samfeng_2003(风云):
如果是你说的这种需求,你用下面的方法不就行了吗?
你那样做就显得麻烦,繁琐了
*/
update @s1 set m1 = m2
where m1=0
ilons1 2005-09-15
  • 打赏
  • 举报
回复
同意rivery(river)

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧