Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wyślij e-mail z wyzwalacza w SQL Server (T-SQL)

Jeśli okaże się, że musisz automatycznie wysłać wiadomość e-mail po określonych zdarzeniach występujących w SQL Server, możesz to zrobić za pomocą wyzwalacza.

Na przykład możesz automatycznie wysłać wiadomość e-mail, gdy ktoś usunie lub zaktualizuje rekord z tabeli itp.

Aby to zrobić, musisz utworzyć wyzwalacz, który zawiera kod do wysłania wiadomości e-mail po wymaganym zdarzeniu.

Przykład

Oto przykład wyzwalacza, który wysyła wiadomość e-mail za każdym razem, gdy ktoś usunie rekord z tabeli o nazwie 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';

W tym przypadku chcę, aby e-mail był wysyłany za każdym razem, gdy ktoś usunie wiersz, więc używam AFTER DELETE .

Używam sp_send_dbmail procedura składowana w msdb bazy danych do wysłania e-maila.

Aby to zadziałało, musisz mieć włączoną pocztę bazy danych i skonfigurowaną do wysyłania wiadomości e-mail (poczta bazy danych to rozwiązanie SQL Server do wysyłania wiadomości e-mail). Zobacz Jak wysłać e-mail z SQL Server, aby dowiedzieć się, jak to zrobić.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Typy kursorów programu SQL Server — Kursor ZESTAWU KLUCZY | Samouczek SQL Server / Samouczek TSQL

  2. Jaka jest prawidłowa nazwa tabeli asocjacji (relacja wiele-do-wielu)

  3. Ponowne użycie SqlCommand?

  4. Jak utworzyć alias typu danych zdefiniowanego przez użytkownika w SQL Server przy użyciu T-SQL

  5. Jak połączyć tekst z wielu wierszy w jeden ciąg tekstowy w SQL Server