2013-03-07 1 views
0

Скажем, у меня есть TSQL триггерКак получить название операции, запускающей триггер?

CREATE TRIGGER dbo.Trigger1 ON dbo.Table1 
    AFTER INSERT, UPDATE, DELETE 

Как знать, какой один из перечисленных выше операций (вставка, обновление или удаление) вызывается триггер срабатывает?

+1

В частности, см. Этот ответ: http://stackoverflow.com/a/10928151/334849 – LittleBobbyTables

ответ

2

Вы можете проверить наличие таблиц inserted и deleted.

Если имеются только значения в inserted, это была вставка. Если существуют только значения в deleted, это было удаление. Если и то, и другое, это обновление.

+1

Извините, мне пришлось редактировать семантику. 'вставлен' и' deleted' будет существовать, они просто могут быть пустыми в зависимости от действия. –

+0

@ Аарон Я действительно не понимал этого, спасибо. –

Смежные вопросы