Định Nghĩa Trigger
Trigger là một đối tượng trong cơ sở dữ liệu, tự động thực thi khi có những sự kiện nhất định xảy ra (như các thao tác INSERT, UPDATE hoặc DELETE). Nó được gán cho một bảng và được gọi trước hoặc sau một sự kiện được chỉ định trên bảng đó.
Sử Dụng Trigger để Gửi Thông Báo
Trong PostgreSQL hoặc các cơ sở dữ liệu khác hỗ trợ từ khóa NOTICE, bạn có thể tạo một trigger để "gửi thông báo" (một thông điệp) đến người dùng hoặc ghi lại khi có những sự kiện xảy ra. NOTICE thường được sử dụng để gỡ lỗi hoặc cung cấp thông điệp cho quản trị viên cơ sở dữ liệu.
Ví dụ Trigger Để Gửi Thông Báo
Giả sử bạn muốn gửi thông báo mỗi khi một hàng mới được chèn vào bảng. Dưới đây là mã để thực hiện điều này trong PostgreSQL:
sql
CREATE OR REPLACE FUNCTION notify_new_insert()
RETURNS trigger AS $$
BEGIN
RAISE NOTICE 'Hàng mới đã được thêm: %', NEW.id;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER after_insert
AFTER INSERT ON your_table
FOR EACH ROW
EXECUTE FUNCTION notify_new_insert();
Trong đoạn mã trên, mỗi khi một hàng mới được chèn, NOTICE sẽ in ra một thông điệp trong log cho thấy ID của hàng vừa được thêm.
Các Ứng Dụng Khác Của Trigger
Ngoài việc gửi thông báo, triggers còn có thể được sử dụng cho nhiều mục đích khác như:
- Kiểm Tra Tính Toàn Vẹn Dữ Liệu: Đảm bảo dữ liệu trong cơ sở dữ liệu tuân thủ các quy tắc cụ thể.
- Ghi Nhận Hoạt Động: Ghi lại mọi thao tác thay đổi dữ liệu để theo dõi sử dụng.
- Chạy Logic Kinh Doanh Phức Tạp: Tự động phản ứng với các thay đổi trong cơ sở dữ liệu mà không cần can thiệp trực tiếp từ người dùng.
Với tính năng tự động hóa mà triggers mang lại, việc quản lý và thực thi các quy tắc phức tạp trong cơ sở dữ liệu trở nên dễ dàng và hiệu quả hơn. Hãy cùng khám phá và ứng dụng các trigger này để tối ưu hóa quy trình làm việc của bạn!
source: viblo