Триггер только изменить обновленную / вставленную строку - PullRequest
0 голосов
/ 06 июля 2010

Привет, у меня есть следующий триггер.

ALTER TRIGGER [dbo].[DivisionLastModified] ON [dbo].[tb_Division] WITH EXECUTE AS CALLER FOR INSERT, UPDATE AS BEGIN UPDATE tb_Division SET LastModified = GetDate() END

Это обновляет все строки, однако я хочу изменить только обновленную / добавленную строку. Это достижимо?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2012

Чтобы просто обновить LastModified для строк, которые были затронуты вставкой или обновлением, необходимо использовать таблицу inserted, которая доступна только в триггерах.

0 голосов
/ 06 июля 2010

Это потому, что вы обновляете все строки

UPDATE tb_Division SET LastModified = GetDate() 

Вы должны указать последний вставленный или обновленный идентификатор строки,

, чтобы вы могли указать, что в условии Где что-то подобное

UPDATE tb_Division SET LastModified = GetDate() where id=4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...