Как написать триггер для удаленного элемента? - PullRequest
2 голосов
/ 03 сентября 2011

Я уже создал два триггера:

create trigger [insert_history] on users
for insert
as
insert audit(action_type, table_name, object_name, time)
select 'Inserted', 'users', username, getdate()
from inserted

go

create trigger [update_history] on users
for update
as
insert audit(action_type, table_name, object_name, time)
select 'Updated', 'users', username, getdate()
from deleted

Вставлено - извлекает значение из насекомого.Обновление возвращает значение из удаленного.

А как насчет оператора удаления?

1 Ответ

2 голосов
/ 03 сентября 2011

Это также будет использовать псевдотаблица deleted.

Он может быть включен в ваш триггер update с использованием for update, delete, так как ваш триггер обновления содержит только значения "до", поэтому код для обоих будет в настоящее время одинаковым.

Edit: Хотя тогда ваш триггер должен будет проверить, если EXISTS(SELECT * FROM inserted), чтобы определить строку действия, так что, возможно, отдельный будет проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...