我一直在谷歌搜索一下,但我似乎无法找到答案。我正在尝试在存储过程中使用SQL Server 2005中的数据库邮件,其中的想法是为查询中的每一行发送单独的邮件,每个邮件取决于驻留在行中的地址。
想象一下例如15到50行产品订单,其中包含以下数据: ID,CustomerName,CustomerEmail,ProductName,ProductCategory 。每行包含客户电子邮件以及产品类别。我需要使用他们自己行中的个人数据向每个客户发送确认电子邮件,以及根据产品类别向不同公司用户发送的实际订单邮件。
如何动态发送数据库邮件?
提前致谢!
编辑1:数据集等不是一个选项,必须在SQL Server 2005上独占运行。我想我将不得不查看游标。
答案 0 :(得分:0)
使用DataSet将表放入内存 而不是运行foreach DataRow,获取邮件并发送它......
答案 1 :(得分:0)
您的意思是每次添加新行(例如下订单)吗?如果是这样,您可以在每次插入或更新行时使用Trigger发送电子邮件。
答案 2 :(得分:0)
不,不可能。发送数据库邮件是对存储过程的调用,这在查询和函数中都是不允许的。
您必须逐个发送每封邮件。您可以在存储过程中使用服务器上的游标,也可以在客户端中迭代该表。