У меня есть триггер для оповещения о повторяющихся записях при обнаружении.Я уверен, что за один раз вставляется только одна запись, поэтому я не принял во внимание массовые вставки.Но я получаю электронные письма, хотя условие не должно быть выполнено.
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 и вставить в таблицу, даже тогда я получу письмо.Не уверен, что мне здесь не хватает.