SQL Server ile “İyiki Doğdun :)” Mesajı Göndermek
Eğer benim gibi unutkan biriyseniz, bu metodu kullanarak bundan böyle arkadaşlarınızın doğumgününü unutmayacaksınız.
İlk olarak SQL Server Agent Service’i ve Database Mail hizmetlerini kullanmayı bilmelisiniz. Bununla ilgili daha önceki yazılarımı okuyarak öğrenebilirsiniz.
SQL Server Agent Service ile ilgili yazım için link ve Database Mail ile ilgili yazım için link
SQL Server Agent Service job görev tanımlamaya dayalıdır(job schedule) Doğumgününü hatırlamak için kullanacağınız görev şu:
DECLARE @email nvarchar(50), @birthday date DECLARE emailCursor CURSOR FOR SELECT email, birthday FROM test; OPEN emailCursor; FETCH NEXT FROM emailCursor INTO @email, @birthday WHILE (@@FETCH_STATUS = 0) BEGIN IF(DATEDIFF(DD, DAY(@birthday),DAY(GETDATE()))=0) AND (DATEDIFF(DD, MONTH(@birthday),MONTH(GETDATE()))=0) BEGIN EXEC msdb.dbo.sp_send_dbmail @profile_name='Test', @recipients=@email, @body='Happy birthday to you!...', @body_format='HTML', @subject='Happy Birthday'; END FETCH NEXT FROM emailCursor INTO @email, @birthday END CLOSE emailCursor DEALLOCATE emailCursor GO
Elimizde bir tane tablomuz olacaktır. Bu tabloda en az 3 adet sütun(id, email, birthday-dateofbirth) olacaktır. Satır sayısı sınırsızdır. Bu tabloyu oluşturduktan sonra, oluşturduğunuz görevi(job) çalıştırmaya başlayın(execute). O arka planda çalışırken herhangi bir kişinin yani arkadaşınızın doğumgünü geldiğinde farkına varacak ve ona belirlediğiniz doğumgünü mesajını gönderecektir. Hepsi bu
yok sql server kuracam aman cep telefonuma kaydederim bir de mesaj attım mı tamamdır.
İşte mesaj yazmana gerek kalmadan o senin yerine mesajı yazıyor ve atıyor. Hem unutma derdin de olmuyor bir denersen bir daha vazgeçemezsin