sql >> Database >  >> RDS >> Sqlserver

E-mail verzenden vanaf een trigger in SQL Server (T-SQL)

Als u merkt dat u automatisch een e-mail moet verzenden bij bepaalde gebeurtenissen in SQL Server, kunt u dit doen via een trigger.

U kunt bijvoorbeeld automatisch een e-mail sturen wanneer iemand een record uit een tabel verwijdert of bijwerkt, enz.

Om dit te doen, moet u een trigger maken die code bevat voor het verzenden van de e-mail bij de vereiste gebeurtenis.

Voorbeeld

Hier is een voorbeeld van een trigger die een e-mail stuurt wanneer iemand een record verwijdert uit een tabel met de naam 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';

In dit geval wil ik dat de e-mail wordt verzonden wanneer iemand een rij verwijdert, dus ik gebruik AFTER DELETE .

Ik gebruik de sp_send_dbmail opgeslagen procedure op de msdb database om de e-mail te verzenden.

Om dit te laten werken, moet Database Mail zijn ingeschakeld en geconfigureerd om e-mails te verzenden (Database Mail is de oplossing van SQL Server voor het verzenden van e-mails). Zie E-mail verzenden vanuit SQL Server voor instructies over hoe u dit kunt doen.


  1. Hoe de kwetsbaarheidskloof in PostgreSQL te dichten

  2. PHP PDO en MySQLi

  3. Django model één vreemde sleutel voor veel tabellen

  4. Databasemodellen baseren op de realiteit:de uitdaging van een blogger