Вы понимаете, что запускает огонь на партию, а не на ряд, верно? Это вообще плохая идея. сбросьте данные в другую таблицу, напишите задание, которое каждую минуту проверяет эту таблицу и отправляет электронное письмо
Вы хотите, чтобы триггер был максимально быстрым и не отправлял электронные письма
См. Также: Рекомендация: кодирование триггеров SQL Server для многострочных операций
Другой вариант (, который также является плохой идеей ) - это циклическое удаление удаленных и вставленных таблиц в триггере и отправка электронного письма для каждой строки
вы также должны использовать sp_send_dbmail
, а не xp_sendmail
, поскольку вы находитесь в 2008 году, xp_sendmail устарела
Так же, как к вашему сведению
как то так
SET @BestellingID = (SELECT BestellingID FROM inserted)
SET @CategorieID = (SELECT CategorieID FROM inserted)
SET @SubCategorieID = (SELECT SubCategorieID FROM inserted)
может быть сделано с 1 выбором
SELECT @BestellingID = BestellingID,
@CategorieID = CategorieID,
@SubCategorieID = SubCategorieID
FROM inserted
Нет необходимости выполнять 3 запроса ... это вам не поможет, так как вам нужно кодировать несколько строк, а просто показать, что вы можете назначить несколько переменных с помощью 1 выбора