Trigger là gì?

Noun Mysql

Trigger là một loại stored procedure đặc biệt (không có tham số) được thực thi (execute) một cách tự động khi có một sự kiện thay đổi dữ liệu (data modification) như INSERT, UPDATE hoặc DELETE. Trigger có thể được thực hiện trước hoặc sau sự kiện.

  • Tạo các hàm chạy ngầm nhằm phục vụ nhưng trường hợp cụ thể.
  • 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.
  • Ngăn chặn việc xóa những dữ liệu quan trọng (có thể dùng back up các dữ liệu quan trọng sang table khác phòng khi bị xóa ngoài ý muốn).

Cú pháp tạo Trigger

CREATE TRIGGER tên_trigger ON tên_bảng
{ FOR | AFTER | INSTEAD OF } { [INSERT], [UPDATE] , [DELETE] } AS
BEGIN
  câu_lệnh_sql
END

Cú pháp sửa Trigger

ALTER TRIGGER tên_trigger ON tên_bảng
{ FOR | AFTER | INSTEAD OF } { [INSERT], [UPDATE] , [DELETE] } AS
BEGIN
  câu_lệnh_sql
END

Cú pháp xóa Trigger

DROP TRIGGER [IF EXISTS] tên_trigger;
Verb None

Trigger là một cơ chế bắt đầu một hành động khi một sự kiện (event) xảy ra chẳng hạn như đạt đến một thời gian hoặc ngày nhất định hoặc khi nhận được một số loại đầu vào (input). Trigger thường khiến cho một hàm (function) được thực thi.

Noun None

Trigger là một điều kiện gây ra tác hại của logic bomb chẳng hạn như nhiều vi rút và sâu (worm). Nhiều dạng phần mềm độc hại (malicious software) sử dụng các ngày cụ thể làm trigger. Một số vi rút đếm số lần lây nhiễm và kích hoạt payload của chúng ở một con số cụ thể.

Learning English Everyday