Подтвердить что ты не робот

Практическое руководство. Создание триггера для даты автоматического обновления с помощью SQL Server 2008

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

Таблица TimeEntry

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

Код запуска:

+   TR_TimeEntry_UpdateModDate()
+   TR_TimeEntry_InsertGenDate()

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

Спасибо заранее!

Julian

4b9b3361

Ответ 1

Мой подход:

  • определить ограничение по умолчанию в столбце 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)