【问题标题】:Sql Server 2005 - Insert Update Trigger - Get updated, insert rowSql Server 2005 - 插入更新触发器 - 获取更新,插入行
【发布时间】:2010-01-16 14:34:19
【问题描述】:

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

【问题讨论】:

    标签: sql sql-server tsql triggers


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在列上使用函数“更新”(如果您想检查更新的事实)或从表“插入”中检索行

      【讨论】:

        【解决方案3】:

        虽然可以为此使用触发器,但在决定实施它们时我会非常小心。它们绝对不适合调试,并且可能导致缺乏可维护性。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-06-16
          • 2015-02-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-26
          • 2015-01-15
          相关资源
          最近更新 更多