MS SQL Server 2008 触发器中更改插入行的值

3

在Oracle中,我可以通过insert/update触发器使用:new.column_name = new_value来更改行值。 那么在MS SQL 2008触发器中,我该如何做到相同的效果呢?

1个回答

5
Oracle不同,受影响的记录被作为集合传递给SQL Server触发器,并分别称为INSERTEDDELETED
您将需要更新目标表:
UPDATE   m
SET      column_name = @new_value
FROM     INSERTED i
JOIN     mytable m
ON       m.id = i.id

或者更好的方法是创建一个 INSTEAD OF 触发器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接