Trigger là dạng đặc biệt của thủ tục lưu trữ (SP), dùng khai báo ràng buộc dữ liệu cho một table, view và tự động thực hiện khi một trong 3 phát biểu Insert, Update, Delete thay đổi dữ liệu trên table đó. Trigger không được gọi trực tiếp như SP, không có tham số và giá trị trả về như SP.
Trigger chỉ được thực hiện khi phát biểu cập nhật đã thỏa mãn các ràng buộc đã khai báo trên table. Lợi ích chính của trigger là chúng có thể chứa các xử lý phức tạp trên các table có dữ liệu liên quan với table đang cập nhật.
Trigger có thể chứa phát biểu ROLLBACK TRANSACTION ngay cả khi không có phát biểu BEGIN TRAN. Trong trường hợp phát biểu ROLLBACK TRANSACTION bên trong một trigger được thực hiện:
- Nếu trigger này được kích hoạt bởi một phát biểu cập nhật từ bên trong một transaction khác thì toàn bộ transaction đó bị bãi bỏ.
- Nếu trigger được kích hoạt bởi một phát biểu cập nhật từ bên trong một gói thì sẽ bãi bỏ toàn bộ gói
Dựa vào ứng dụng của trigger, có 3 loại trigger như sau: Insert Trigger, Update Trigger và Delete Trigger