请问这个存储过程怎么写

zhuchong530 2005-09-15 11:42:07
请问,如果判断数据库里的一个字段的值为零,就将另一个字段的值写入到这个字段里面,
这个存储过程怎么写?
...全文
87 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)
回复
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-09-15 11:42
社区公告
暂无公告