Forum
Merhaba sql server trigger ile sms gönderiyorum, satır update olduğunda değişikliğide sms ile bildiriyorum fakat update durumunda trigger 2 defa çalışıyor bu durumda aynı sms 2 defa gidiyor bunu nasıl engelleyebilirim?
SET NOCOUNT ON;
IF EXISTS (SELECT 1 FROM inserted) AND EXISTS (SELECT 1 FROM deleted) --satır değişitirlmişse
DECLARE @OLDTARIH DATETIME, @NEWTARIH DATETIME, @OLDDURUM VARCHAR(2), @NEWDURUM VARCHAR(2), @SMS BIT
SELECT @NEWTARIH = CITARIHI, @NEWDURUM = DURUM FROM inserted
SELECT @OLDTARIH = CITARIHI, @OLDDURUM = DURUM FROM deleted
IF @NEWTARIH <> @OLDTARIH
BEGIN
SELECT
@musteri = MADI1,
@numara = ISNULL(ISNULL(MS.TEL1, MS.TEL2), MEMNUNN),
@mesaj = 'Sayın !musteri! işlem tarihiniz ' + CONVERT(VARCHAR(50), CITARIHI, 104) + ' olarak değiştirilmiştir. Bizi tercih ettiğiniz için teşekkür ederiz.'
FROM inserted LEFT OUTER JOIN MISAFIR MS ON MS.MID = MID1
IF @numara IS NOT NULL
BEGIN
SELECT dbo.SmsGonder(@username, @parola, @org, @musteri, @numara, @mesaj, @mail)
END
END
ELSE IF EXISTS (SELECT 1 FROM inserted) AND NOT EXISTS (SELECT 1 FROM deleted) --Yeni satır
SELECT
@musteri = MADI1,
@numara = ISNULL(ISNULL(MS.TEL1, MS.TEL2), MEMNUNN),
@mesaj = 'Sayın !musteri! ' + CONVERT(VARCHAR(50), CITARIHI, 104) + ' tarihli kaydınız yapılmıştır. Bizi tercih ettiğiniz için teşekkür ederiz.'
FROM inserted LEFT OUTER JOIN MISAFIR MS ON MS.MID = MID1
IF @numara IS NOT NULL
BEGIN
SELECT dbo.SmsGonder(@username, @parola, @org, @musteri, @numara, @mesaj, @mail)
END
END
Öncelikle cevabınız için teşekkür ederim fakat bu bahsettiğiniz durumu denedim ama trigger update işleminde aynı anda hem insert hemde delete işlemi için çalıştığından daha o alan değişmeden ikinci smsi göndermiş oluyor. Hatta süre farkına bakmak istedim milisaniyesine kadar aynı.
Örnek mesajlar şöyle;
Sayin BAKI EBAS işlem tarihiniz 05.02.2015 olarak degistirilmistir. Bizi tercih ettiginiz icin tesekkur ederiz. Feb 2015 13:20:18:653
Sayin BAKI EBAS işlem tarihiniz 05.02.2015 olarak degistirilmistir. Bizi tercih ettiginiz icin tesekkur ederiz. Feb 2015 13:20:18:653