Как: создать триггер для автоматического изменения даты обновления с помощью SQL Server 2008 - PullRequest
47 голосов
/ 12 октября 2011

Было бы неплохо узнать, как создать триггер, который автоматически обновляет столбец modifiedDate в моей таблице SQL Server:

Таблица TimeEntry

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

Триггерный код:

+   TR_TimeEntry_UpdateModDate()
+   TR_TimeEntry_InsertGenDate()

Пример для обновления ModDate было бы неплохо.

1 Ответ

89 голосов
/ 12 октября 2011

Мой подход:

  • определяет ограничение по умолчанию для столбца ModDate со значением GETDATE() - это обрабатывает INSERT case

  • имеет триггер 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...