3
私は、クエリの結果を添付ファイルを送信することになっているSQLストアドプロシージャで作業しています。sp_send_dbmailのローカル変数?
私はsp_send_dbmail
を使用してメールを送信しています。
送信したいクエリ内で、私はテーブル変数に参加します。ストアドプロシージャを実行すると、変数が存在しないというエラーメッセージが表示されます。
マイコード:
DECLARE @t TABLE (
id INT IDENTITY(1,1),
some fields
)
DECLARE @query VARCHAR(MAX)
SET @query = 'SELECT
some values
FROM @t t
INNER JOIN dbo.Table d ON t.field = d.field
EXEC msdb.dbo.sp_send_dbmail @[email protected]_list,
@subject = @subject,
@query = @query,
@attach_query_result_as_file = 1,
@query_result_width = 4000,
@query_attachment_filename = 'Details.txt'
は私がこのストアドプロシージャ内のローカル変数を参照するための方法はありますか?そうでない場合は、どうしてですか?
TIA!
なぜテンポラリテーブルを使用しますか?元のコードの文脈でも一時テーブルはありませんか? – chama
@chama:私の答えを修正しました。 *グローバル*(2つの#記号)表が必要です。 –
ありがとうございます。これはほとんどの状況で私がやろうとしていることですが、私はその質問に固有の単純な問題を見つけることができました。 – chama