Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Gửi email từ một trình kích hoạt trong SQL Server (T-SQL)

Nếu bạn thấy mình cần tự động gửi email khi các sự kiện nhất định xảy ra trong SQL Server, bạn có thể thực hiện việc này thông qua trình kích hoạt.

Ví dụ:bạn có thể tự động gửi email khi ai đó xóa hoặc cập nhật bản ghi khỏi bảng, v.v.

Để thực hiện việc này, bạn cần tạo một trình kích hoạt bao gồm mã để gửi email theo sự kiện bắt buộc.

Ví dụ

Dưới đây là ví dụ về trình kích hoạt gửi email bất cứ khi nào ai đó xóa bản ghi khỏi bảng có tên 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';

Trong trường hợp này, tôi muốn email được gửi bất cứ khi nào ai đó xóa một hàng, vì vậy tôi sử dụng AFTER DELETE .

Tôi sử dụng sp_send_dbmail thủ tục được lưu trữ trên msdb cơ sở dữ liệu để gửi email.

Để điều này hoạt động, bạn cần phải bật Thư cơ sở dữ liệu và định cấu hình để gửi email (Thư cơ sở dữ liệu là giải pháp gửi email của SQL Server). Xem Cách gửi Email từ SQL Server để biết hướng dẫn về cách thực hiện việc này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi thực thi một thủ tục được lưu trữ, lợi ích của việc sử dụng CommandType.StoredProcedure so với sử dụng CommandType.Text là gì?

  2. Tìm kiếm văn bản trong quy trình được lưu trữ trong SQL Server

  3. SQL chọn tất cả nếu tham số là null nếu không trả về mục cụ thể

  4. Cách hàm NCHAR () hoạt động trong SQL Server (T-SQL)

  5. @@ SERVICENAME trong SQL Server là gì?