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

问题描述 投票:-1回答:1

我在sql中有一个select查询。

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

sql-server email
1个回答
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,但您可能需要使用逗号代替。

© www.soinside.com 2019 - 2024. All rights reserved.