在 msdb.dbo.sp_send_dbmail 中使用@country
Use @country in msdb.dbo.sp_send_dbmail
我有一个程序给我一些数据。该过程是 运行 4 次 @country 更改并提供来自 4 个不同国家的数据(数据来自不同的数据库。)除了将数据放入文件外,我还想通过电子邮件发送每个国家的结果作为使用 sp_send_dbmail 的 csv 文件,如下所示。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'xxx',
@recipients = 'xxx',
@query = 'SELECT * FROM xxx',
@subject = 'Addresses from @country',
@attach_query_result_as_file=1,
@query_attachment_filename = 'Addresses_@country.csv',
@query_result_separator = ';',
@query_result_no_padding = 1;
我的问题是:是否可以在@subject 和@query_attachment_filename 中的过程中使用@country?我试过了,还是不行。
如果我没理解错的话,你可以只用一个变量:
declare @subject nvarchar(255) = N'Addresses from ' + @country;
declare @@query_attachment_filename nvarchar(255) = N'Addresses_@country.csv';
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'xxx',
@recipients = 'xxx',
@query = 'SELECT * FROM xxx',
@subject = @subject,
@attach_query_result_as_file=1,
@query_attachment_filename = @query_attachment_filename,
@query_result_separator = ';',
@query_result_no_padding = 1;
我有一个程序给我一些数据。该过程是 运行 4 次 @country 更改并提供来自 4 个不同国家的数据(数据来自不同的数据库。)除了将数据放入文件外,我还想通过电子邮件发送每个国家的结果作为使用 sp_send_dbmail 的 csv 文件,如下所示。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'xxx',
@recipients = 'xxx',
@query = 'SELECT * FROM xxx',
@subject = 'Addresses from @country',
@attach_query_result_as_file=1,
@query_attachment_filename = 'Addresses_@country.csv',
@query_result_separator = ';',
@query_result_no_padding = 1;
我的问题是:是否可以在@subject 和@query_attachment_filename 中的过程中使用@country?我试过了,还是不行。
如果我没理解错的话,你可以只用一个变量:
declare @subject nvarchar(255) = N'Addresses from ' + @country;
declare @@query_attachment_filename nvarchar(255) = N'Addresses_@country.csv';
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'xxx',
@recipients = 'xxx',
@query = 'SELECT * FROM xxx',
@subject = @subject,
@attach_query_result_as_file=1,
@query_attachment_filename = @query_attachment_filename,
@query_result_separator = ';',
@query_result_no_padding = 1;