Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изпращане на имейл от тригер в SQL Server (T-SQL)

Ако установите, че трябва да изпратите имейл автоматично при определени събития, настъпили в SQL Server, можете да направите това чрез тригер.

Например, можете автоматично да изпратите имейл, когато някой изтрие или актуализира запис от таблица и т.н.

За да направите това, трябва да създадете тригер, който включва код за изпращане на имейла при необходимото събитие.

Пример

Ето пример за тригер, който изпраща имейл всеки път, когато някой изтрие запис от таблица, наречена 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';

В този случай искам имейлът да се изпраща всеки път, когато някой изтрие ред, така че използвам AFTER DELETE .

Използвам sp_send_dbmail съхранена процедура в msdb база данни, за да изпратите имейла.

За да работи това, трябва да имате активирана и конфигурирана Database Mail за изпращане на имейли (Database Mail е решението на SQL Server за изпращане на имейли). Вижте Как да изпратите имейл от SQL Server за инструкции как да направите това.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да върнете текущата стойност на версия на реда за база данни на SQL Server (пример за T-SQL)

  2. Съхранена процедура, която експортира данни в csv файлове, експортира само в един файл

  3. Задействане на SQL актуализиране само когато колоната е променена

  4. SQL транспониране на пълната таблица

  5. Променете типа на колона с числа от varchar на int