Sql 在msdb.dbo.sp_send_dbmail中使用@country

Sql 在msdb.dbo.sp_send_dbmail中使用@country,sql,sql-server,sql-server-2008,stored-procedures,Sql,Sql Server,Sql Server 2008,Stored Procedures,我有一个程序给我一些数据。该过程运行了4次@country changing并提供来自4个不同国家的数据(数据来自不同的数据库)。除了将数据放入文件中,我还希望使用sp_send_dbmail将每个国家的结果作为csv文件发送,如下所示 EXEC msdb.dbo.sp_send_dbmail @profile_name = 'xxx', @recipients = 'xxx', @query = 'SELECT * FROM xxx', @subject = '

我有一个程序给我一些数据。该过程运行了4次@country changing并提供来自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\u attachment\u文件名中的过程中使用@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;