Sql 从数据库发送电子邮件

Sql 从数据库发送电子邮件,sql,sql-server,Sql,Sql Server,我正在尝试从服务器向几个收件人发送电子邮件 我确实使用以下方法查询我的数据库: SELECT Email from payrollchecksystem 然后使用以下命令发送电子邮件 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

我正在尝试从服务器向几个收件人发送电子邮件

我确实使用以下方法查询我的数据库:

SELECT Email from payrollchecksystem
然后使用以下命令发送电子邮件

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表收到的所有电子邮件时,我不知道为@recipients放什么?

@接受者 是以分号分隔的 发送邮件的电子邮件地址 到

@接受者 是以分号分隔的 发送邮件的电子邮件地址 到


要将电子邮件分隔为分号分隔的字符串,请使用
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.'

要将电子邮件分隔为分号分隔的字符串,请使用
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.'

但是如果我想给100个收件人发一封电子邮件呢。我确实创建了一个带有收件人列表的.csv文件。在这种情况下,我应该为@recipients添加什么内容?您应该添加100个电子邮件地址,用分号分隔,就像文档中所说的那样。但是,如果我试图向100个收件人发送电子邮件,该怎么办。我确实创建了一个带有收件人列表的.csv文件。在这种情况下,我应该为@recipients添加什么内容?您应该添加100个电子邮件地址,用分号分隔,如文档所示