Sql Server 2005 - 插入更新触发器 - 获取更新,插入行

时间:2010-01-16 14:34:19

标签: sql sql-server tsql triggers

我想为插入和更新创建一个表触发器。如何获取插入/更新的当前记录的值?

3 个答案:

答案 0 :(得分:8)

在触发器中,您可以使用名为“inserted”的表来访问新记录的值和更新记录的新版本。同样,名为“已删除”的表允许您访问已删除的记录和更新记录的原始版本。

答案 1 :(得分:0)

在列上使用函数'update'(如果你想检查更新的事实)或从表'inserted'中检索行

答案 2 :(得分:0)

虽然可以使用触发器,但在决定实现它们时我会非常小心。它们是调试的绝对负担,并且可能导致缺乏可维护性。

如果你需要进行级联更新(即改变表A依次改变表B),我会使用一个存储过程(可以比触发更容易测试和调试),或者如果你足够幸运使用ORM(实体框架,NHibernate等)在您的模型或存储库中执行此功能。