sql >> Base de Datos >  >> RDS >> Sqlserver

Enviar correo electrónico desde un disparador en SQL Server (T-SQL)

Si necesita enviar un correo electrónico automáticamente cuando ocurren ciertos eventos en SQL Server, puede hacerlo a través de un disparador.

Por ejemplo, podría enviar automáticamente un correo electrónico cuando alguien elimine o actualice un registro de una tabla, etc.

Para hacer esto, debe crear un disparador que incluya un código para enviar el correo electrónico en el evento requerido.

Ejemplo

Este es un ejemplo de un activador que envía un correo electrónico cada vez que alguien elimina un registro de una tabla llamada Cats :

CREATE TRIGGER trg_deleted_cat  
ON Cats  
AFTER DELETE   
AS  
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Oh no... somebody just deleted a cat!!!',  
    @subject = 'Warning: This email may distress the reader';

En este caso, quiero que el correo electrónico se envíe cada vez que alguien elimine una fila, así que uso AFTER DELETE .

Yo uso el sp_send_dbmail procedimiento almacenado en msdb base de datos para enviar el correo electrónico.

Para que esto funcione, debe tener el correo de la base de datos habilitado y configurado para enviar correos electrónicos (el correo de la base de datos es la solución de SQL Server para enviar correos electrónicos). Consulte Cómo enviar correo electrónico desde SQL Server para obtener instrucciones sobre cómo hacerlo.