Внутри триггера у вас есть две специальные таблицы: INSERTED
и DELETED
. Если строка существует только в таблице INSERTED
, то выполняется операция INSERT. Аналогично, если строка существует только в таблице DELETED
, то выполняется операция DELETE. Если строка существует в обеих таблицах, то произошло ОБНОВЛЕНИЕ, и таблица INSERTED
содержит новые значения, а таблица DELETED
содержит старые значения.
INSERTed Rows:
SELECT i.*
FROM INSERTED i
LEFT JOIN DELETED d
ON i.PrimaryKey = d.PrimaryKey
WHERE d.PrimaryKey IS NULL
УДАЛЕНО Строки:
SELECT d.*
FROM DELETED d
LEFT JOIN INSERTED i
ON d.PrimaryKey = i.PrimaryKey
WHERE i.PrimaryKey IS NULL
ОБНОВЛЕННЫЕ строки:
SELECT *
FROM INSERTED i
INNER JOIN DELETED d
ON i.PrimaryKey = d.PrimaryKey