我正在寻找一个好的更新触发器示例来更新表的ModifyDate字段。
处理更新命令更新表中多条记录的情况会很好。
这是否有一个好的模板或教程?
答案 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)