Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

E-Mail von einem Trigger in SQL Server (T-SQL) senden

Wenn Sie bei bestimmten Ereignissen in SQL Server automatisch eine E-Mail senden müssen, können Sie dies über einen Trigger tun.

Beispielsweise könnten Sie automatisch eine E-Mail senden, wenn jemand einen Datensatz aus einer Tabelle löscht oder aktualisiert usw.

Dazu müssen Sie einen Auslöser erstellen, der den Code zum Senden der E-Mail bei dem erforderlichen Ereignis enthält.

Beispiel

Hier ist ein Beispiel für einen Trigger, der eine E-Mail sendet, wenn jemand einen Datensatz aus einer Tabelle namens Cats löscht :

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';

In diesem Fall möchte ich, dass die E-Mail gesendet wird, wenn jemand eine Zeile löscht, also verwende ich AFTER DELETE .

Ich verwende den sp_send_dbmail gespeicherte Prozedur auf der msdb Datenbank, um die E-Mail zu senden.

Damit dies funktioniert, müssen Sie Database Mail aktiviert und konfiguriert haben, um E-Mails zu senden (Database Mail ist die Lösung von SQL Server zum Senden von E-Mails). Anweisungen dazu finden Sie unter So senden Sie E-Mails von SQL Server.