ここでの最初の質問は次のとおりです。私は次のコードを書きましたが、すべてが正常に機能します。
DECLARE @subject NVARCHAR(100)
SET @subject = 'Report executed on ' + CONVERT(VARCHAR(12), GETDATE(), 107)
SELECT @subject
結果:2012年8月17日に実行されたレポート
ただし、msdb.dbo.sp_send_dbmailプロシージャのパラメータを設定しているときに前の文字列を連結しようとすると、失敗します。
EXEC msdb.dbo.sp_send_dbmail @profile_name='XXX',
@recipients='XXXX@XXXXX.com',
@subject = 'Report executed on ' + CONVERT(VARCHAR(12), GETDATE(), 107),
@body= @tableHTML,
@body_format = 'HTML';
変数を宣言してパラメーターに送信できることは知っていますが、パラメーターに直接連結すると失敗する理由を理解したいと思います。時間と知識をありがとう