如何从sql向多个电子邮件地址发送电子邮件

时间:2017-12-19 16:39:06

标签: sql-server email

我在sql中有一个select查询。

我想向所有电子邮件地址发送电子邮件,如果查询给5个用户发送给5个用户或者给85个用户发送给85个用户。 我有msdb.dbo.sp_send_dbmail,但我不知道如何到达所有行并向他们发送电子邮件。

1 个答案:

答案 0 :(得分: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结尾,但您可能需要使用逗号。