【问题标题】:Help with sql server triggersql server 触发器帮助
【发布时间】:2009-04-01 23:22:52
【问题描述】:

我想创建一个触发器,在更新Description列时将LastActivityDate列更新为当前日期,问题是所有行都在更新,我不知道如何在里面制作where子句触发器...

我也需要为其他表创建这样的触发器,例如 Votes 表...

我有:

CREATE TRIGGER test ON Articles
FOR INSERT, UPDATE  
AS
IF UPDATE(Description)
UPDATE Articles SET LastActivityDate = GETUTCDATE()

where 子句会怎样?

【问题讨论】:

    标签: sql-server triggers


    【解决方案1】:

    您可以加入插入的表以将更新限制为更新的行。

      CREATE TRIGGER test ON Articles
        FOR INSERT, UPDATE  
        AS
        IF UPDATE(Description)
        UPDATE a
        SET a.LastActivityDate = GETUTCDATE()
        from Articles a
        inner join inserted i
        on a.SomeIDField = i.SomeIDField
    

    【讨论】: