Forum

SQL Server Trigger ...
 
Bildirimler
Hepsini Temizle

SQL Server Trigger ile E-Mail Gönderme Hk.

2 Yazılar
1 Üyeler
0 Reactions
2,965 Görüntüleme
(@ErkanBarlaz)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Merhabalar,

SQL server 2016 kullanıyorum. ABC isimli bir tablom var. Tablomda, KayitID (int), Detay (nvarchar(100)) ve Durum (int) alanlarım mevcut. ABC tablosunda herhangi bir kayıta ait Durum alanı 2 olduğunda mail gitsin istiyorum. Aslında kayıtta herhangi bir değişiklik olduğunda mail gönderilmesini yaptım. Fakat bir şarta bağlı olarak bir türlü başaramadım. If v.s. kullandım ama olmadı. Birde mailin subject alanına KayitID yi yazdırıyorum fakat mailde hep aynı kayıtın numarası geliyor. Bu konuda bir öneriniz var mıdır? Şu an üzerinde çalıştığım kodlar aşağıdadır.

CREATE TRIGGER Mail2 ON ABC

FOR UPDATE

AS

BEGIN

SET NOCOUNT ON;

DECLARE

 

@KayitID int,

@Detay nvarchar (100),

@Durum int,

@subject int,

@body nvarchar (100) 

 

SELECT @KayitID= KayitID, @Detay= Detay, @Durum= Durum, @body = 'Tamamlandı' + ' ' + @Detay FROM ABC

IF @Durum= 3

BEGIN

EXEC msdb.dbo.sp_send_dbmail

@recipients = '[email protected]',

@profile_name = 'public',

@subject = @KayitID,

@body = @body

END

END

 

 
Gönderildi : 22/05/2017 17:50

(@ErkanBarlaz)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Tekrar Merhaba,

 

Cevabınız için çok teşekkür ederim Yavuz Bey. Önerinizi deneyeceğim fakat benim anlamadığım nokta şu zaten benim tablomda durum alanında aslında benzer durum söz konusu. Yani durum alanı örneğin 3 olduğunda mail gitsin istiyorum. Sizin dediğiniz şekilde mailgonderildi alanı oluşturduğumda bu alan 0 ise gönder diyeceğim açıkçası aralarındaki farkı anlamadım. Anlamak adına soruyorum IF @MailGonderildi = 0 Begin "mail gönder" şeklinde mi yapmalıyım. Açıkçası aslında bu kısımda takılıyorum. Ben yaptığım IF @Durum = 3 Begin "mail gönder" yapmıştım. Ayrıca bir sorum daha olacak. Subject alanına tablodaki ilk alanı yani KayitID alanını yazdırmak iştediğimde her mailde aynı KayıtID numarası yazıyor. Bu ne ile ilgili olabilir? Yardımınızı rica ederim. İyi çalışmalar.

Saygılarımla.

Erkan. 

 
Gönderildi : 23/05/2017 01:37

Paylaş: