sql - 更新触发器以填充ModifyDate字段

时间:2010-05-12 22:18:42

标签: sql triggers

我正在寻找一个好的更新触发器示例来更新表的ModifyDate字段。

处理更新命令更新表中多条记录的情况会很好。

这是否有一个好的模板或教程?

2 个答案:

答案 0 :(得分:1)

UPDATE {tablename}
SET ModifyDate = GETDATE()
FROM inserted
WHERE {tablename}.{primarykey} = inserted.{primarykey}

放置在标记为INSERT和UPDATE操作的触发器中将解决您的问题。

你也可以为CreateDate

做类似的事情
UPDATE {tablename}
SET CreateDate = GETDATE()
FROM inserted
WHERE {tablename}.{primarykey} = inserted.{primarykey}

放置在仅为INSERT操作标记的触发器中。

答案 1 :(得分:1)

这是我在很久以前写的一个剪切和粘贴(并重命名,以保护无辜)(也就是它有效):

CREATE TRIGGER dbo.TR_iu_MyTable__LastUpdated
 on dbo.MyTable
 after insert, update

AS

    SET NOCOUNT on

    UPDATE dbo.MyTable
     set LastUpdated = getdate()
     where MyTableId in (select MyTableId from inserted)