SQL Trigger отправляет электронные письма при каждой вставке, несмотря на условие - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть триггер для оповещения о повторяющихся записях при обнаружении.Я уверен, что за один раз вставляется только одна запись, поэтому я не принял во внимание массовые вставки.Но я получаю электронные письма, хотя условие не должно быть выполнено.

ALTER TRIGGER [dbo].[tr_JTIA_ForInsert]
ON MyTable
FOR INSERT 
DECLARE
@JTIItemID int,
@UserWWID int
    IF EXISTS(SELECT 1 from [MyTable] JTIA INNER JOIN inserted NewItem on NewItem.ItemID=JTIA.ItemID and NewItem.UserWWID=JTIA.UserWWID and NewItem.Status=JTIA.Status)
        BEGIN
            SELECT @JTIItemID=inserted.ItemID,@UserWWID=inserted.UserWWID from inserted

            EXEC msdb.dbo.sp_send_dbmail
              @recipients = 'Alex@gmail.com', 
              @profile_name = 'AppAdmin',
              @body = 'Hello',
              @subject = 'Duplicate Job Training Item Was Assigned to user:'; 

        END
END

Здесь, если я вставляю дублирующую запись с тем же идентификатором пользователя, идентификатором товара и статусом, я получаю электронное письмо, но когда я переворачиваю флаг состояния на0 и вставить в таблицу, даже тогда я получу письмо.Не уверен, что мне здесь не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...