Обновить столбец даты последнего изменения

У меня есть такая таблица:

id  name    modified
11  John    2016-07-12 15:49:45
22  Abraham 2016-07-12 15:52:03

Мне нужно обновить "измененный" столбец, который отслеживает дату последнего изменения строки. Я сделал это с помощью триггера, но прочитал, что триггеры снижают производительность. Есть ли способ сделать это с помощью ограничений?

1 ответ

В предложении UPDATE можно использовать ограничение DEFAULT и ключевое слово DEFAULT. Смотрите следующий пример:

CREATE TABLE UpdateTest
(
  ID int IDENTITY,
  Name varchar(10),
  Modified datetime2(2) CONSTRAINT DF_Modified DEFAULT (SYSDATETIME())
)

--ID from IDENTITY, Modified from DEFAULT implicitly
INSERT UpdateTest(Name) VALUES('Test')

--Modified from DEFAULT explicitly
UPDATE UpdateTest SET Name='Test2', Modified=DEFAULT
Другие вопросы по тегам