【发布时间】:2009-12-12 18:19:50
【问题描述】:
在插入触发器中,我使用表 'INSERTED' 来获取插入的值。
我是在更新触发器中也使用相同的INSERTED 表,还是使用'UPDATED' 表?
【问题讨论】:
标签: sql-server triggers
在插入触发器中,我使用表 'INSERTED' 来获取插入的值。
我是在更新触发器中也使用相同的INSERTED 表,还是使用'UPDATED' 表?
【问题讨论】:
标签: sql-server triggers
INSERTED 包含新值,DELETED 包含旧值。
【讨论】:
是的,对于新值,您可以这样做。对于要替换的值,您可以使用与删除触发器中相同的 DELETED 虚拟表。
【讨论】:
只是补充其他答案的注释 - INSERTED 和 DELETED 可用于触发器,也可用于OUTPUT clause。
如果您只是执行相对简单的任务,例如选择或存储插入/更新的数据,则 OUTPUT 子句可以帮助您完全避免使用触发器,因为触发器往往是相当透明的。
【讨论】: