如何将两个动态查询的DB Mail和两个文件作为附件发送

时间:2017-03-02 10:28:33

标签: sql-server sql-server-2012 sendmail

我想发送包含两个查询的DB Mail,并将两个文件作为附件发送,其中第一个查询的结果在一个文件中,第二个在另一个文件中。

以下是我的代码,它只发送一个文件作为附件,

 DECLARE @sql NVARCHAR(max)= '',
       @sql2 NVARCHAR(max)= '',
     @prefix nvarchar(100),  
     @RefundSubject AS VARCHAR(100)

    set @sql='SET NOCOUNT ON select * from table1 '
    set @sql2='SET NOCOUNT ON select * from table2'

    DECLARE @b NVARCHAR(max)

    declare @prevDate varchar(30)=CONVERT(VARCHAR(30),GETDATE()-1,105)  

    SET @RefundSubject =' Transactions ' + ' ' + 'For Date ' +@prevDate;                                   


    SET @b = '</style><br/>Hi Sir,<br/><br/>Kindly find attached details.<br/><br/>'           

    declare @filenames nvarchar(50)                                                    

    SET @prefix = 'Report.csv'                          

    exec('USE msdb')                                

    EXEC msdb..sp_send_dbmail @profile_name='Mail',                     

        @recipients='mansi07091@gmail.com',  

        @subject = @RefundSubject                             

       ,@body = @b  

       ,@body_format='HTML'                               

       ,@query = @sql          

       ,@attach_query_result_as_file = 1                      

       ,@query_result_separator = '^'                            

       ,@query_result_no_padding = 1                            

       ,@query_result_header = 1                            

      ,@query_attachment_filename =@prefix                            

    SET @sql = ''                       

1 个答案:

答案 0 :(得分:0)

尝试以下

@ file_attachments =” d:\ TEMP \ blog.csv; d:\ TEMP \ sample.csv