代码之家  ›  专栏  ›  技术社区  ›  Darj

SQL Server 2008更新触发器-正在更新某些列方法

  •  1
  • Darj  · 技术社区  · 14 年前

    我正在一个表上创建一个触发器,该触发器应该更新 date_modified 柱下面的代码是最好的方法吗?我这样做对吗?

    IF EXISTS(SELECT * FROM DELETED) --checking if this is an update, not insert
    BEGIN
    IF NOT(UPDATE(date_modified)) -- checking if desired column was not updated
    BEGIN
        DECLARE @updatedID int
        SELECT @updatedID = ID FROM deleted -- fetching updated record ID
        UPDATE table SET date_modified=GETDATE() WHERE ID=@updatedID -- updating desired column
    END
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Madhivanan    14 年前

    您可以简单地使用它而不是声明变量

    UPDATE table SET date_modified=GETDATE() WHERE ID in 
    (SELECT ID FROM deleted)