Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Enviar email de um gatilho no SQL Server (T-SQL)


Se você precisar enviar um email automaticamente após determinados eventos que ocorrem no SQL Server, poderá fazer isso por meio de um gatilho.

Por exemplo, você pode enviar automaticamente um e-mail quando alguém excluir ou atualizar um registro de uma tabela, etc.

Para fazer isso, você precisa criar um gatilho que inclua o código para enviar o email no evento necessário.

Exemplo


Aqui está um exemplo de um gatilho que envia um e-mail sempre que alguém exclui um registro de uma tabela chamada 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';

Nesse caso eu quero que o email seja enviado sempre que alguém excluir uma linha, então eu uso AFTER DELETE .

Eu uso o sp_send_dbmail procedimento armazenado no msdb banco de dados para enviar o e-mail.

Para que isso funcione, você precisa ter o Database Mail habilitado e configurado para enviar e-mails (o Database Mail é a solução do SQL Server para envio de e-mails). Consulte Como enviar email do SQL Server para obter instruções sobre como fazer isso.