在SQL Server中发生之前,在触发器中选择上次更新的行ID和上次删除的行ID

时间:2011-01-10 05:33:51

标签: sql-server tsql triggers

我需要获取表中更新行的id,以使用它通过触发器

更新另一个表

还需要获取表中已删除行的id,以使用它通过触发器

更新另一个表

我该怎么做?

SQL Server中是否有内置函数?

如果不是什么样的技巧可以帮助实现这个

1 个答案:

答案 0 :(得分:5)

在触发器中,如果您想知道更新/删除的OLD值

SELECT idColumnName FROM deleted

其中idColumnName是包含您感兴趣的ID的列。

然后,您可以使用此ID值执行所需的任何处理。 另外。如果您想使用正在更新的NEW值,下面的查询会为您提供。这对于要比较某些字段的旧/新值的更新的情况尤其有用。在您的情况下,由于它是一个ID列,这可能不相关

SELECT idColumnName FROM inserted