[转]sql update 触发器 获得被update的行的信息详解
create trigger TgName
on tb
for update
as
??? if update(recommend)
begin
?update tb set commenddate=(getdate()) from tb inner join inserted on tb.vlistid=Inserted.vlistid
end
關(guān)鍵在于Inserted表
觸發(fā)器語句中使用了兩種特殊的表:deleted 表和 inserted 表。
Deleted 表用于存儲 DELETE 和 UPDATE 語句所影響的行的復本。在執(zhí)行 DELETE 或 UPDATE 語句時,行從觸發(fā)器表中刪除,并傳輸?shù)?deleted 表中。Deleted 表和觸發(fā)器表通常沒有相同的行。
Inserted 表用于存儲 INSERT 和 UPDATE 語句所影響的行的副本。在一個插入或更新事務處理中,新建行被同時添加到 inserted 表和觸發(fā)器表中。Inserted 表中的行是觸發(fā)器表中新行的副本。
1.插入操作(Insert)
Inserted表有數(shù)據(jù),Deleted表無數(shù)據(jù)
2.刪除操作(Delete)
Inserted表無數(shù)據(jù),Deleted表有數(shù)據(jù)
3.更新操作(Update)
Inserted表有數(shù)據(jù)(新數(shù)據(jù)),Deleted表有數(shù)據(jù)(舊數(shù)據(jù))
轉(zhuǎn)載于:https://www.cnblogs.com/laino/archive/2009/05/25/1488803.html
總結(jié)
以上是生活随笔為你收集整理的[转]sql update 触发器 获得被update的行的信息详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在SQL Server中sqlserve
- 下一篇: WF4B1 的有返回值的Activity