web-dev-qa-db-ja.com

方法:SQL Server 2008で修正日を自動更新するためのトリガーを作成する

SQL ServerテーブルのmodifiedDate列を自動更新するトリガーを作成する方法を知っていると便利です。

テーブルTimeEntry

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

トリガーコード:

+   TR_TimeEntry_UpdateModDate()
+   TR_TimeEntry_InsertGenDate()

更新ModDateの例はNiceです。

47
Julian

私のアプローチ:

  • GETDATE()の値を持つModDate列でデフォルトの制約を定義します-これはINSERTケースを処理します

  • AFTER UPDATEModDate列を更新するトリガー

何かのようなもの:

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