T-SQL INSTEAD OF UPDATE触发器:使用INSERTED表中的对应列更新所有列

时间:2018-09-20 19:30:19

标签: sql-server tsql triggers

如果要在INSTEAD OF UPDATE触发器中强制执行业务规则,如果违反规则则回滚事务,则每当将新列添加到表中时都必须不断维护该触发器,并包括新添加的更新语句中的列:

UPDATE T
SET A = INSERTED.A,
    B = INSERTED.B,
    NewColumn = INSERTED.NewColumn
FROM MyTable T
INNER JOIN INSERTED ON T.id = INSERTED.id;

是否存在一些“句法糖”,可以按照以下方式进行操作:

UPDATE T
SET T.* = INSERTED.*     -- <<==
FROM MyTable T
INNER JOIN INSERTED ON T.id = INSERTED.id;

这样不需要进行维护吗?

0 个答案:

没有答案