SQL-分别从表向多个用户发送相同的邮件

SQL-分别从表向多个用户发送相同的邮件,sql,sp-send-dbmail,Sql,Sp Send Dbmail,我想使用sp\u send\u dbmail将同一封邮件发送到从表中分别提取的多个电子邮件ID。 如果我使用下面的查询,邮件将发送一次给“收件人”部分中的所有用户。但我的要求是分别给他们发邮件 DECLARE @Receipientlist varchar(8000) SET @ReceipientList = STUFF((SELECT ';' + emailaddress FROM Your query here FOR XML PATH('')),1,1,'') EXEC sp_

我想使用sp\u send\u dbmail将同一封邮件发送到从表中分别提取的多个电子邮件ID。 如果我使用下面的查询,邮件将发送一次给“收件人”部分中的所有用户。但我的要求是分别给他们发邮件

DECLARE @Receipientlist varchar(8000)  
SET @ReceipientList = STUFF((SELECT ';' + emailaddress FROM Your query here 
FOR XML PATH('')),1,1,'')


EXEC sp_send_dbmail  @profile_name= your email profile in db,  
@recipients= @Receipientlist,  
@subject='your subject here',  
@body='body message here'  

请提出一些解决方案。

定义一个光标,然后像这样尝试

    declare @emailaddress nvarchar(250)

    DECLARE db_cursor CURSOR FOR  
    SELECT emailaddress FROM Your query here  

    OPEN db_cursor   
    FETCH NEXT FROM db_cursor INTO @emailaddress   

    WHILE @@FETCH_STATUS = 0   
    BEGIN   

            EXEC sp_send_dbmail  @profile_name= your email profile in db,  
            @recipients= @emailaddress,  
            @subject='your subject here',  
            @body='body message here' 

           FETCH NEXT FROM db_cursor INTO @emailaddress   
    END  

CLOSE db_cursor   
DEALLOCATE db_cursor

在收件人上方使用
光标
,并在循环中为每个收件人发送电子邮件。您好@Fran,谢谢您的建议。你能给出一些查询的例子吗?请看链接副本,它的结构和足够的样本代码在答案中,以得到你需要做的事情。尽管你也可以在谷歌官方文档中查找
SQL Cursor
Top Result:另外,你也可以查看我的答案。非常感谢@Rainman。这对我有用!!不客气。如果答案有效,请将其标记为已接受。