我的IT部门对游标有一种健康的蔑视,但我需要遍历数据集以从SQL Server 2014发送电子邮件。使用基于集合的逻辑执行此操作的最佳做法是什么?
答案 0 :(得分:1)
据推测,您正在使用数据库邮件通过SQL Server发送电子邮件,在这种情况下,通过调用sp_send_dbmail
存储过程发送电子邮件。
除了需要发送给多个收件人的具有相同内容的电子邮件之外,您只需向@recipients
,@copy_recipients
/ @blind_copy_recipients
添加多个收件人即可发送多封电子邮件,您必须为每封电子邮件调用一次sp_send_dbmail。因此,您需要在某种形式的循环中调用它,因为您无法在基于集合的查询中调用sproc。
从技术上讲,你可以使用基于集合的查询来生成一个sql到一个变量中,该变量将包含一个sp_send_dbmail调用每个要发送的电子邮件,然后执行该语句,但这可能会得到一个有点凌乱/不太可读。