Forum

Eğer sorgu boş döne...
 
Bildirimler
Hepsini Temizle

Eğer sorgu boş dönerse mail göndermemek mümkün mü?

8 Yazılar
3 Üyeler
0 Reactions
1,992 Görüntüleme
Gökhan Erdoğdu
(@adaliadam)
Gönderiler: 40
Trusted Member
Konu başlatıcı
 

Merhabalar,

Aşağıdaki prosedürde gönderdiğim mail'in subject kısmında GETDATE()-1 ve devamında İSİM SOYİSİM GÜNLÜK
TAHSİLATLAR yazdırmak istiyorum. Bunun bir yolu var mı?

GELEN MAİL BU ŞEKİLDE

image

 

 

USE [TIGER]
GO
/*** Object: StoredProcedure [dbo].[03_01_FATİH_TAHSİLATLAR] Script Date: 2.01.2020 16:44:07 ***/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[03_01_FATİH_TAHSİLATLAR] AS

DECLARE @ErrorMsg nvarchar(400)
IF (SELECT count(*) FROM [dbo].[11_02_FATİH_TAHSİLATLAR]) = 0
BEGIN
SET @ErrorMsg = 'BOŞ'
SELECT @ErrorMsg Err
RETURN
END
Else IF (SELECT count(*) FROM [dbo].[11_02_FATİH_TAHSİLATLAR]) >= 1


BEGIN

DECLARE

@tableHTML NVARCHAR(MAX)

SET
@tableHTML =
N' <H1>FATİH KAYIŞ GÜNLÜK TAHSİLATLAR</H1>' +
N' <p><em> Not: Bu mail, sunucudan otomatik olarak g&ouml;nderilmiştir. G&ouml;khan
Erdoğdu-12/2019
</em></p>' + N' <table border="1">' +
N' <tr><th>FİRMA ADI</th><th>İŞLEM TÜRÜ</th><th>İŞLEM DÖVİZ CİNSİ</th><th>TL TUTAR</th>
<th>USD TUTAR
</th><th>KUR</th><th>USD KARŞILIĞI</th>' +

CAST ( (
SELECT
td = [FİRMA ADI], '',
td = [İŞLEM TÜRÜ], '',
td = [İŞLEM DÖVİZ CİNSİ], '',
td = FORMAT(ROUND ([TL TUTAR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([USD TUTAR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([KUR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([USD KARŞILIĞI],3), 'N' , 'de-DE'), ''

from [dbo].[11_02_FATİH_TAHSİLATLAR]

FOR XML PATH ('tr'), TYPE ) as NVARCHAR(MAX) ) +
N'</table>';

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AutoMail',
--@recipients = '[email protected]',
@recipients = '[email protected];[email protected]',
@copy_recipients = '[email protected];
[email protected];
[email protected];[email protected]',
@subject = 'FATİH KAYIŞ GÜNLÜK TAHSİLATLAR',
@body = @tableHTML,
@body_format = 'HTML'

END

Botek Otomasyon
Raporlama ve Analiz Uzmanı

 
Gönderildi : 02/01/2020 16:42

(@vedatozerr)
Gönderiler: 65
Trusted Member
 

Merhaba,

Tarih eklemek için aşağıdaki sorgu işinizi görecektir.

@subject = CONVERT(NVARCHAR(11),GETDATE()-1,104)+' / '+'FATİH KAYIŞ GÜNLÜK TAHSİLATLAR'

 

Bu ileti 5 yıl önce Vedat Özer tarafından düzenlendi

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

 
Gönderildi : 03/01/2020 09:04

Gökhan Erdoğdu
(@adaliadam)
Gönderiler: 40
Trusted Member
Konu başlatıcı
 

@vedatozerr

bunun farklı çeşidini denemiştim ama olmamıştı. Bu da hata verdi.

 

 

image

Botek Otomasyon
Raporlama ve Analiz Uzmanı

 
Gönderildi : 03/01/2020 14:52

(@vedatozerr)
Gönderiler: 65
Trusted Member
 

Merhaba,

Aşağıdaki şekilde deneyebilir misiniz. Birde konunun başlığı ile içeriği sanki farklı gibi .



ALTER PROCEDURE [dbo].[03_01_FATİH_TAHSİLATLAR] AS

DECLARE @ErrorMsg nvarchar(400)
IF ISNULL((SELECT count(*) FROM [dbo].[11_02_FATİH_TAHSİLATLAR]),0)>0
BEGIN

DECLARE
@tableHTML NVARCHAR(MAX),
@BASLIK NVARCHAR(120) = CONVERT(NVARCHAR(11),GETDATE()-1,104)+' / '+'FATİH KAYIŞ GÜNLÜK TAHSİLATLAR'
SET
@tableHTML =
N' <H1>FATİH KAYIŞ GÜNLÜK TAHSİLATLAR</H1>' +
N' <p><em> Not: Bu mail, sunucudan otomatik olarak g&ouml;nderilmiştir. G&ouml;khan
Erdoğdu-12/2019
</em></p>' +
N' <table border="1">' +
N' <tr><th>FİRMA ADI</th><th>İŞLEM TÜRÜ</th><th>İŞLEM DÖVİZ CİNSİ</th><th>TL TUTAR</th>
<th>USD TUTAR
</th><th>KUR</th><th>USD KARŞILIĞI</th>' +

CAST ( (
SELECT
td = [FİRMA ADI], '',
td = [İŞLEM TÜRÜ], '',
td = [İŞLEM DÖVİZ CİNSİ], '',
td = FORMAT(ROUND ([TL TUTAR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([USD TUTAR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([KUR],3), 'N' , 'de-DE'), '',
td = FORMAT(ROUND ([USD KARŞILIĞI],3), 'N' , 'de-DE'), ''

from [dbo].[11_02_FATİH_TAHSİLATLAR]

FOR XML PATH ('tr'), TYPE ) as NVARCHAR(MAX) ) +
N'</table>';

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AutoMail',
--@recipients = '[email protected]',
@recipients = '[email protected];[email protected]',
@copy_recipients = '[email protected];
[email protected];
[email protected];[email protected]',
@subject = @BASLIK,
@body = @tableHTML,
@body_format = 'HTML'
END
ELSE BEGIN
SELECT 'Kayıt Bulunamadı'
END



Bu ileti 5 yıl önce Vedat Özer tarafından düzenlendi

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

 
Gönderildi : 03/01/2020 22:54

Gökhan Erdoğdu
(@adaliadam)
Gönderiler: 40
Trusted Member
Konu başlatıcı
 

@vedatozerr

DECLARE @TARİH NVARCHAR(MAX) ;

SET @TARİH = CONVERT (NVARCHAR (MAX), GETDATE(),104) + ' TÜM ŞUBELER USD BA VE TEMİNAT BİLGİLERİ'

@subject = @TARİH

 

Üstat bu şekilde çözdüm. Tarih diye nvarchar değişken tanımladım. Set ederken getdate'i convert edip text kısmını '+' yardımyla topladım. sp_send_dbmail prosedüründeki @subject kısmına da @TARİH değişkenini getir dedim. çözüldü.

 

Botek Otomasyon
Raporlama ve Analiz Uzmanı

 
Gönderildi : 09/01/2020 17:51

(@vedatozerr)
Gönderiler: 65
Trusted Member
 

Merhabalar

En son gönderdiğim kodda bende sizin yaptığınıza yakın bir çözüm yazdım incelediniz mi 

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

 
Gönderildi : 09/01/2020 20:29

Gökhan Erdoğdu
(@adaliadam)
Gönderiler: 40
Trusted Member
Konu başlatıcı
 

@vedatozerr

kopyalayıp yapıştırmıştım hata vermişti. çözememiştim ama aynen mantık aynı. teşekkür ederim ilginize

Botek Otomasyon
Raporlama ve Analiz Uzmanı

 
Gönderildi : 13/01/2020 10:01

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33291
Illustrious Member Yönetici
 

Soruyu çözüldü olarak işaretler misiniz lütfen?

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 13/01/2020 20:55

Paylaş: