23/12/2018, 23:15
Sử dụng trigger trong SQL qua ví dụ cơ bản
Người viết: Phạm Anh Tuấn Trigger là gì ? Hiểu đơn giản thì Trigger là một stored procedure không có tham số. Trigger thực thi một cách tự động khi một trong ba câu lệnh Insert, Update, Delete làm thay đổi dữ liệu trên bảng có chứa trigger. Cú pháp của Trigger ...
Người viết: Phạm Anh Tuấn
Trigger là gì ?
Hiểu đơn giản thì Trigger là một stored procedure không có tham số. Trigger thực thi một cách tự động khi một trong ba câu lệnh Insert, Update, Delete làm thay đổi dữ liệu trên bảng có chứa trigger.
Cú pháp của Trigger
CREATE TRIGGER tên_trigger ON tên_bảng
FOR {DELETE, INSERT, UPDATE}
AS
câu_lệnh_sql
1 2 3 4 5 6 |
CREATE TRIGGER tên_trigger ON tên_bảng FOR {DELETE, INSERT, UPDATE} AS câu_lệnh_sql |
Trigger dùng làm gì ?
- Trigger thường được sử dụng để kiểm tra ràng buộc (check constraints) trên nhiều quan hệ (nhiều bảng/table) hoặc trên nhiều dòng (nhiều record) của bảng.
- Ngoài ra việc sử dụng Trigger để chương trình có những hàm chạy ngầm nhằm phục vụ nhưng trường hợp hữu hạn và thường không sử dụng cho mục đích kinh doanh hoặc giao dịch. Đọc thêm tại đây
Bài toán đặt ra.
- Bạn có 2 bảng kho hàng và đặt hàng liên kết với nhau bởi mã hàng.
- Khi người dùng đặt hàng hãy tự động cập nhật số lượng tồn trong bảng kho hàng.
Giải pháp
- Khi người dùng đặt hàng ta chỉ có 3 loại thao tác chính với CSDL là : Insert, Delete, Update
- Vậy chỉ cần tạo 3 trigger tương ứng là ok