如何获取已更新的值?

时间:2011-07-14 21:30:55

标签: sql-server triggers

例如:要获取值以创建已使用INSERT命令传递的触发器,可以执行以下操作:

SELECT @pid=Product_ID, @q=Item_Quantity, @invid=Invoice_ID FROM Inserted

因此,我可以访问已使用INSERT命令传递的值,并在我的触发器中的SQL Server中使用它们。 什么是UPDATE命令的等价物? 如何通过UPDATE命令获取我将从程序传递到SQL Server的值? 像下面这样的东西给我一个错误:

SELECT @pid=Product_ID, @q=Item_Quantity, @invid=Invoice_ID FROM Updated

1 个答案:

答案 0 :(得分:0)

您需要使用Inserted和Deleted的组合来了解更新内容。对于更新的每一行,原始值将显示在已删除,新值将显示为已插入。

因此,如果您只想从UPDATE获取新值,则可以使用与用于INSERT的查询相同的查询。