【发布时间】:2014-10-21 20:15:31
【问题描述】:
尝试使用 sp_send_dbmail 从存储过程中输出结果 (感谢 Joe Stefannel 的解决方案)。 当使用全局临时表变量 (##Summary) 时,它可以工作。 使用本地临时表变量 (#Summary) 时失败。 根据我的阅读,全局变量选项在此处不适用,因为 sproc 将由 Web 应用程序调用,因此将同时引用同一个临时表。
显然对 sp_send_dbmail 的调用不是“内部上下文”,因此局部变量失败。 有解决办法吗?
Sproc 流程: 创建表#Summary (字段...)
Select stuff into #Summary
exec msdb.dbo.sp_send_dbmail
@profile_name = 'Me',
@recipients = 'me@mysite.co.nz',
@body = 'Test from Me',
@subject = 'Automated Test Message',
@query = 'select * from #Summary ' ,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'testing.csv',
@query_result_separator=','
drop table #Summary
谢谢
【问题讨论】:
-
是的,根据结果构建正文,而不是尝试附加结果。或者让 Web 应用程序构建电子邮件,而不是让 SQL Server 来构建。
标签: sql-server