如何:使用SQL Server 2008为自动更新修改日期创建触发器

时间:2011-10-12 09:29:17

标签: sql-server sql-server-2008 date triggers

知道如何创建一个自动更新SQL Server表中modifiedDate列的触发器会很高兴:

TimeEntry

Id (PK)
UserId (FK)
Description
Time
GenDate
ModDate

触发码:

+   TR_TimeEntry_UpdateModDate()
+   TR_TimeEntry_InsertGenDate()

更新ModDate的示例很不错。

1 个答案:

答案 0 :(得分:87)

我的方法:

  • ModDate列上定义默认约束,其值为GETDATE() - 这会处理INSERT案例

  • AFTER UPDATE触发器来更新ModDate

类似的东西:

CREATE TRIGGER trg_UpdateTimeEntry
ON dbo.TimeEntry
AFTER UPDATE
AS
    UPDATE dbo.TimeEntry
    SET ModDate = GETDATE()
    WHERE ID IN (SELECT DISTINCT ID FROM Inserted)