如何在存储过程sql server

时间:2015-06-22 05:45:11

标签: sql sql-server email

我需要向用户发送附件,所以我发现查询作为附件是可能的,但我的要求是在@attach_query_result_as_file中将SP结果@V_Message变量作为附件发送,任何人都可以在这个问题上帮助我

2 个答案:

答案 0 :(得分:0)

是。您可以使用(sp_send_dbmail存储过程)

通过电子邮件发送附件

参考下面的示例。希望这有帮助

EXEC sp_send_dbmail @profile_name='default',
@recipients='dev@null.com',
@subject=@SUB,
@body=@BODY,

@query= 'SELECT [MID],[HID],[MeC],[LC],[RowCDate]
FROM [JBC].[dbo].[Table1] WHERE RowCDate >= GETDATE()
',
@attach_query_result_as_file=1,
@query_attachment_filename = 'Results.csv',
@query_result_separator = ','

答案 1 :(得分:0)

我没有足够的声望点,也无法发表评论,因此就在这里:

如果您只需发送包含格式良好的附件的电子邮件,那么您应该查看

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'whateverDefaultMailProfile',
@recipients = 'user@domain.com',
@subject = 'Email from SQL Server',
@body = 'Enter text here or use a @text var for body.',
@query= 'exec your_stored_procedure'
@file_attachments = 'C:\filename.ext'

your_stored_procedure应将输出转储到c:\ filename.ext文件。您可以在sp_send_dbmail的单个调用中将多个文件附加到多个收件人。希望这会有所帮助。