我有一个存储过程可以执行2次更新,但我只想在参数@active
等于'Y'
时进行第一次更新。
alter procedure sp_updateThis
@something varchar(5),
@active char(1)
as begin
-- check to see if active and do the update
update myTable set this=@something
-- run this one regardless
update yourTable set that=@something
答案 0 :(得分:4)
尝试使用此更改最后一行:
if (@active = 'Y')
begin
update yourTable set that=@something
end
答案 1 :(得分:2)
alter procedure sp_updateThis
@something varchar(5),
@active char(1)
as begin
-- check to see if active and do the update
if(@active = 'Y')
Begin
update myTable set this=@something
End
-- run this one regardless
update yourTable set that=@something
答案 2 :(得分:1)
如果你真的想要更新表格中的每一行:
update myTable set this=@something where @active = 'Y';
否则你可能还想要其他条款......
答案 3 :(得分:0)
你可以创建一个这样的程序: 创建过程sp_updateThis @something varchar(5), @active char(1) 如 开始
如果@active ='y' 开始 更新yourTable设置= @ something 结束 其他 更新myTable设置this = @ something 更新yourTable设置= @ something
端 去