Документация MSDN объясняет, но не очень четко изложена.
В триггере SQL-сервер автоматически предоставляет вам две специальные таблицы в памяти:
inserted
: данные, которые были добавлены в таблицу (для операторов вставки и обновления) deleted
: данные, которые были удалены из таблицы (для операторов обновления и удаления))
Они имеют те же столбцы, что и фактическая таблица, но полностью доступны только для чтения - вы не можете добавлять к ним столбцы или индексы или изменять данные внутри них.
Так что вВ вашем примере, чтобы получить имя удаляемого человека, вы можете внутри триггера сделать следующее:
DECLARE @name varchar(100);
SELECT @name = name from deleted;
Важное примечание
Имейте в виду, что еслииз таблицы было удалено несколько строк, тогда deleted
будет содержать несколько строк - триггер не вызывается отдельно для каждой строки.