SQL Server更新触发器,获取更新前后的字段

shm*_*dor 32 sql-server-2005

我需要SQL Server Update Trigger的示例,在更新之前和之后获取字段以在另一个表中执行sql statments

Sea*_*lly 84

SQL Server触发器可以访问2个"魔术"表,这些表包含在导致触发器执行的语句中插入,更新或删除的每一行的行.

要在INSERT语句中查找所有插入的行:

select * from inserted
Run Code Online (Sandbox Code Playgroud)

对于DELETE语句中的所有已删除行:

select * from deleted
Run Code Online (Sandbox Code Playgroud)

对于UPDATE语句,更新的每一行都将出现在inserted表和deleted表中.inserted表将在update语句之后保存行的新值,而删除的表将保存update语句之前的行的旧值.在两个表之间加入以获得所需内容:

select i.*, d.*
from inserted i
join deleted d on (i.id = d.id)
Run Code Online (Sandbox Code Playgroud)