Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Envoyer un e-mail à partir d'un déclencheur dans SQL Server (T-SQL)

Si vous avez besoin d'envoyer un e-mail automatiquement lors de certains événements se produisant dans SQL Server, vous pouvez le faire via un déclencheur.

Par exemple, vous pouvez envoyer automatiquement un e-mail lorsque quelqu'un supprime ou met à jour un enregistrement d'une table, etc.

Pour ce faire, vous devez créer un déclencheur qui inclut le code permettant d'envoyer l'e-mail lors de l'événement requis.

Exemple

Voici un exemple de déclencheur qui envoie un e-mail chaque fois que quelqu'un supprime un enregistrement d'une table appelée 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';

Dans ce cas, je veux que l'e-mail soit envoyé chaque fois que quelqu'un supprime une ligne, j'utilise donc AFTER DELETE .

J'utilise le sp_send_dbmail procédure stockée sur msdb base de données pour envoyer l'e-mail.

Pour que cela fonctionne, vous devez avoir Database Mail activé et configuré pour envoyer des e-mails (Database Mail est la solution de SQL Server pour l'envoi d'e-mails). Voir Comment envoyer un e-mail à partir de SQL Server pour obtenir des instructions sur la façon de procéder.