Pregunta

He estado buscando en Google por un poco, pero me parece que no puede encontrar una respuesta a esto. Estoy tratando de utilizar la base de datos de correo en SQL Server 2005 en un procedimiento almacenado, donde la idea es enviar correo por separado para cada fila en una consulta, cada correo en función de una dirección que reside en las filas.

Imagine por ejemplo 15 - 50 filas de los pedidos de productos con los siguientes datos: ID, CustomerName, CustomerEmail, ProductName, ProductCategory . Cada una de las filas contiene el correo electrónico del cliente, así como la categoría del producto. Tengo que enviar un correo electrónico de confirmación a cada uno de los clientes que utilizan sus datos personales específicos a sus propias filas, así como el correo orden real a diferentes personas de la empresa en función de la categoría del producto.

¿Cómo puedo enviar datos de correo de forma dinámica como ésta?

Gracias de antemano!

Editar. 1: Conjuntos de datos, etc. no son una opción, esto tiene que ser ejecutado exclusivamente en SQL Server 2005. supongo que voy a tener que mirar en los cursores después

¿Fue útil?

Solución

No, no es posible. El envío de correo base de datos es una invocación de un procedimiento almacenado y esto no está permitido en las consultas, ni en funciones.

Debe enviar cada correo una a una. Puede utilizar un cursor en el servidor en un procedimiento almacenado o se puede recorrer la tabla en el cliente.

Otros consejos

Obtener la tabla en la memoria utilizando un conjunto de datos y de correr DataRow foreach, recoger el correo y enviarlo ...

¿Quiere decir cada vez que se añade una nueva fila (por ejemplo, pedido)? Si es así, se puede utilizar un gatillo para enviar el correo electrónico cada vez una fila se inserta o actualiza.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top