Базы данных ориентированы на наборы и триггеры не отличаются. Триггер сработает при выполнении данной операции, и эта операция может повлиять на несколько строк. Таким образом, вопрос "Say I want to know the Primary Key of that row"
является неправильным. Может быть вставлено несколько строк.
SQL Server предоставляет две специальные таблицы для триггеров AFTER с именами inserted
и deleted
, которые представляют строки, которые были вставлены или удалены действием, и структурированы идентично затрагиваемой таблице. Триггер обновления может заполнять как inserted
, так и deleted
, тогда как триггер вставки будет заполнять только таблицу inserted
.
Из комментариев:
но получатель электронной почты будет определяться на основе значения во второй таблице, где идентификатор внешнего ключа находится в первой таблице (которая имеет триггер
Ответ на этот вопрос заключается в использовании таблицы inserted
(в которой, опять-таки, должно быть несколько строк), чтобы циклически проходить по строкам и отправлять электронную почту. Тем не менее, я бы рекомендовал не включать логику электронной почты в триггер. Вместо этого я бы порекомендовал поместить эту логику в хранимую процедуру и отправить по электронной почте ваше сообщение.
Для справки: Создать триггер