2017-12-19 28 views
-1

SQLでselectクエリがあります。SQLから複数の電子メールアドレスに電子メールを送信するには

質問があると5人のユーザーに5人のユーザーを送信するか、85人のユーザーに85人のユーザーを送信すると、すべての電子メールアドレスに電子メールを送信します。 私はmsdb.dbo.sp_send_dbmailを持っていますが、私はどのようにすべての行に到達し、それらに電子メールを送ることができるかわかりません。

答えて

0

SQL Serverで区切られたリストを作成する最も一般的な方法は、ひどく秘密のSTUFF subquery FOR XML PATHメソッドです。 Contactsという名前のテーブルを仮定するとemailという名前のフィールドに電子メールアドレスを保持している:

DECLARE @Recipients nvarchar(max); 

SELECT @Recipients = STUFF((SELECT ';' + email FROM Contacts FOR XML PATH, TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') 

@Recipients変数はappears to be what msdb.dbo.sp_send_dbmail wants電子メールアドレスのセミコロン区切りのリストで終わるはずですが、あなたの代わりにカンマを使用する必要があります。

関連する問題