繁体   English   中英

每个结果行的SQL执行

[英]SQL Execute per each result row

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

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

我该如何动态发送数据库邮件?

提前致谢!

编辑1:数据集等不是一个选项,它必须专门在SQL Server 2005上运行。我想那时候我将不得不研究游标。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM