Обновить столбец даты последнего изменения
У меня есть такая таблица:
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