【发布时间】:2010-01-16 14:34:19
【问题描述】:
我想为插入和更新创建一个表触发器。如何获取插入/更新的当前记录的值?
【问题讨论】:
标签: sql sql-server tsql triggers
我想为插入和更新创建一个表触发器。如何获取插入/更新的当前记录的值?
【问题讨论】:
标签: sql sql-server tsql triggers
在触发器中,您可以使用名为“inserted”的表来访问新记录的值和更新记录的新版本。同样,名为“已删除”的表允许您访问已删除记录和更新记录的原始版本。
【讨论】:
在列上使用函数“更新”(如果您想检查更新的事实)或从表“插入”中检索行
【讨论】:
虽然可以为此使用触发器,但在决定实施它们时我会非常小心。它们绝对不适合调试,并且可能导致缺乏可维护性。
如果您需要进行级联更新(即更改表 A 进而更改表 B),我会使用存储过程(比触发器更容易测试和调试),或者如果您足够幸运要使用 ORM(实体框架、NHibernate 等)在您的模型或存储库中执行此功能。
【讨论】: