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

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

  RSS
Gökhan Erdoğdu
(@adaliadam)
Üye

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 = 'gokhanerdogdu@safikatiyakit.com.tr',
@recipients = 'fatihkayis@safikatiyakit.com.tr;gurkanbirasa@safikatiyakit.com.tr',
@copy_recipients = 'olcay.tukenmez@safikatiyakit.com.tr;
gokhanerdogdu@safikatiyakit.com.tr;
enginduran@safikatiyakit.com.tr;erdalyeter@safikatiyakit.com.tr',
@subject = 'FATİH KAYIŞ GÜNLÜK TAHSİLATLAR',
@body = @tableHTML,
@body_format = 'HTML'

END
Alıntı
Gönderildi : 02/01/2020 16:42
Vedat Özer
(@vedatozerr)
Üye

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 7 ay önce Vedat Özer tarafından düzenlendi

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
vedatozer@outlook.com

CevapAlıntı
Gönderildi : 03/01/2020 09:04
Gökhan Erdoğdu
(@adaliadam)
Üye

@vedatozerr

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

 

 

image
CevapAlıntı
Gönderildi : 03/01/2020 14:52
Vedat Özer
(@vedatozerr)
Üye

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 = 'gokhanerdogdu@safikatiyakit.com.tr',
@recipients = 'fatihkayis@safikatiyakit.com.tr;gurkanbirasa@safikatiyakit.com.tr',
@copy_recipients = 'olcay.tukenmez@safikatiyakit.com.tr;
gokhanerdogdu@safikatiyakit.com.tr;
enginduran@safikatiyakit.com.tr;erdalyeter@safikatiyakit.com.tr',
@subject = @BASLIK,
@body = @tableHTML,
@body_format = 'HTML'
END
ELSE BEGIN
SELECT 'Kayıt Bulunamadı'
END



Bu ileti 7 ay önce Vedat Özer tarafından düzenlendi

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
vedatozer@outlook.com

CevapAlıntı
Gönderildi : 03/01/2020 22:54
Gökhan Erdoğdu
(@adaliadam)
Üye

@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ü.

 
CevapAlıntı
Gönderildi : 09/01/2020 17:51
Vedat Özer
(@vedatozerr)
Üye

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
vedatozer@outlook.com

CevapAlıntı
Gönderildi : 09/01/2020 20:29
Gökhan Erdoğdu
(@adaliadam)
Üye

@vedatozerr

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

CevapAlıntı
Gönderildi : 13/01/2020 10:01
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye 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.
*****************************************************************

CevapAlıntı
Gönderildi : 13/01/2020 20:55
Paylaş: