SqlServer sp_send_dbmail 从本地临时表发送查询结果

Bob*_*egg 4 sql-server

尝试使用 sp_send_dbmail 从存储过程输出结果(感谢 Joe Stefanneli 提供解决方案)。当使用全局临时表变量 (##Summary) 时,它可以工作。当使用本地临时表变量(#Summary)时,它会失败。据我所知,全局变量选项在这里不适用,因为存储过程将由 Web 应用程序调用,因此将会并发引用同一个临时表。

显然,对 sp_send_dbmail 的调用不是“内部上下文”,因此局部变量失败。有针对这个的解决方法吗?

存储过程流程:创建表#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
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 7

在我自己的问题中遇到了这个。全局临时表将起作用。使用 ## 创建表并使用电子邮件 sql 从中查询,它将起作用。