我有一个包含5列的表(ID,Value,TimeStamp,LastModified,ModifiedBy)
我想创建一个执行以下操作的存储过程
1)如果TimeStamp匹配
,则更新值
2)返回新的TimeStamp,LastModified日期时间
3)如果TimeStamp与返回值,TimeStamp,LastModified和ModifiedBy
我知道我可以通过在我的存储过程中使用multile语句来实现这一点,但是可以使用OUTPUT子句在一个语句中执行此操作
e.g。
UPDATE“table”SET“value”=“new value”
OUPUT Inserted.Value,Inserted.TimeStamp,Inserted.LastModified,Inserted.ModifiedBy
WHERE“ID”=“ID”和“TimeStamp”=“TimeStamp”
只要在没有发生更新的情况下更新发生,返回值全为空白,就可以正常工作。
答案 0 :(得分:0)
调用更新sproc之后,可以检查@@ ROWCOUNT变量以查看是否有任何行实际更新
If @@ROWCOUNT <> 0
-- Successful write
ELSE
-- Failed to update as the timestamp didn't match