2011-02-04 8 views
1

私は、複数の受信者に電子メールを送信しようとしています。Send Email From Database

私が使用して自分のデータベースを照会します:

SELECT Email from payrollchecksystem 

そして、私の問題は、私がしようとしたとき@recipientsのために置くために何を知らないということである電子メールに

USE msdb 
GO 
EXEC sp_send_dbmail @profile_name='SQL Server Alerts System', 
@recipients = I DONT KNOW WHAT TO PUT HERE 
@subject='Test message', 
@body='This is the body of the test message. 
Congrates Database Mail Received By you Successfully.' 

を送信するために、次の使用より私がpayrollchecksystemテーブルから得たすべての電子メールを送信しますか?

答えて

2

http://msdn.microsoft.com/en-us/library/ms190307.aspx

@recipients は、セミコロンで区切らにあなたの電子メールを分離するために

+0

しかし、100人の受信者に電子メールを送信しようとするとどうなりますか?私は受信者のリストを持つ.csvファイルを作成しました。 @recipientsの場合はどうすればよいでしょうか? – hhhh

+1

ドキュメントに書かれているように、100個の電子メールアドレスをセミコロンで区切って入力する必要があります –

5

にメッセージを送信する 電子メールアドレスのセミコロン区切りのリストです文字列、使用COALESCE

DECLARE @EmailList varchar(MAX) 

SELECT @EmailList = COALESCE(@EmailList + ';', '') + Email 
FROM payrollchecksystem 
WHERE Email IS NOT NULL 

SELECT @EmailList 

次​​に@EmailListを以下のように使用することができます。

USE msdb 
GO 
EXEC sp_send_dbmail @profile_name='SQL Server Alerts System', 
    @recipients = @EmailList 
    @subject='Test message', 
    @body='This is the body of the test message. Congrates Database Mail Received By you Successfully.'