0

我一直在谷歌搜索,但我似乎无法找到答案。我正在尝试在存储过程中使用 SQL Server 2005 中的数据库邮件,其中的想法是为查询中的每一行发送单独的邮件,每封邮件取决于驻留在行中的地址。

例如,假设有 15 - 50 行产品订单,其中包含以下数据:ID、CustomerName、CustomerEmail、ProductName、ProductCategory。每一行都包含客户电子邮件以及产品类别。我需要使用特定于他们自己行的个人数据向每个客户发送一封确认电子邮件,以及根据产品类别将实际订单邮件发送给不同的公司人员。

我怎样才能像这样动态发送数据库邮件?

提前致谢!

编辑 1:数据集等不是一个选项,这必须在 SQL Server 2005 上专门运行。我想我将不得不查看游标。

4

3 回答 3

0

使用 DataSet 将表放入内存,然后运行 ​​foreach DataRow ,获取邮件并发送...

于 2009-12-01T18:53:14.517 回答
0

您的意思是每次添加新行(例如下订单)?如果是这样,您可以使用触发器在每次插入或更新行时发送电子邮件。

于 2009-12-01T19:22:46.280 回答
0

不,不可能。发送数据库邮件是对存储过程的调用,这在查询和函数中都是不允许的。

您必须逐一发送每封邮件。您可以在存储过程中使用服务器上的游标或在客户端中迭代表。

于 2009-12-01T19:52:08.100 回答