sql >> Database teknologi >  >> RDS >> Sqlserver

Send e-mail fra en trigger i SQL Server (T-SQL)

Hvis du finder dig selv nødt til at sende en e-mail automatisk efter visse hændelser, der opstår i SQL Server, kan du gøre dette via en trigger.

For eksempel kan du automatisk sende en e-mail, når nogen sletter eller opdaterer en post fra en tabel osv.

For at gøre dette skal du oprette en trigger, der inkluderer kode til at sende e-mailen ved den påkrævede hændelse.

Eksempel

Her er et eksempel på en trigger, der sender en e-mail, når nogen sletter en post fra en tabel kaldet 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';

I dette tilfælde ønsker jeg, at e-mailen skal sendes, når nogen sletter en række, så jeg bruger AFTER DELETE .

Jeg bruger sp_send_dbmail gemt procedure på msdb database for at sende e-mailen.

For at dette kan virke, skal du have Database Mail aktiveret og konfigureret til at sende e-mails (Database Mail er SQL Servers løsning til at sende e-mails). Se Sådan sender du e-mail fra SQL Server for instruktioner om, hvordan du gør dette.


  1. Softwaregennemgang – Stellar Repair til MS SQL

  2. Sådan fungerer SQL Server DIFFERENCE()-funktionen

  3. Adgang til klassemodul og indpakningsklasser

  4. StarJoinInfo i udførelsesplaner