0

毎日約 20 人の受信者にメールを送信する必要があるため、2 つの列を持つ一時テーブルを作成します

メール本文 メール
アドレス

テーブルには毎日最大 50 行あります

このテーブルをループして sp_send_email を実行したい

EXEC msdb.dbo.sp_send_dbmail
        @Profile_name = 'DBA',
        @recipients = @email_address,
        @body = @Email_Body,
        @subject = 'Test Email'

カーソルなしでこれを行う方法はありますか?

例へのリンクをいただければ幸いです。検索しましたが、そのような例は見つかりません。私はそれが非常に一般的なプロセスだと確信しています。

4

3 に答える 3

0

このコードサンプルが役立つと思います:

while (@count <=(select COUNT(*) from @table))
begin
select top 1 @Recepient_Email=Emp_Email,@mailBody=body from @table where ID=@count
EXEC msdb.dbo.sp_send_dbmail
    @profile_name='Profile1',
    @recipients=@Recepient_Email,            
    @subject = 'This is subject of test Email'
    @body = @mailbody,
    @body_format = 'HTML'
    set @count =@count +1
    END
于 2013-07-19T15:58:18.760 に答える