How to: Create trigger for auto update modified date with SQL Server 2008

Julian picture Julian · Oct 12, 2011 · Viewed 99.7k times · Source

It would be nice to know how to create a trigger that auto-updates the modifiedDate column in my SQL Server table:

Table TimeEntry

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

Trigger code:

+   TR_TimeEntry_UpdateModDate()
+   TR_TimeEntry_InsertGenDate()

An example for update ModDate would be nice.

Answer

marc_s picture marc_s · Oct 12, 2011

My approach:

  • define a default constraint on the ModDate column with a value of GETDATE() - this handles the INSERT case

  • have a AFTER UPDATE trigger to update the ModDate column

Something like:

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