Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

SQL Trigger (Kích hoạt): Tổng quan

SQL Trigger (kích hoạt) là sự kiện kích hoạt một loạt sự kiện khác xảy ra khi người dùng tương tác với một bảng cụ thể. Câu lệnh SQL đặc biệt này giúp xác thực dữ liệu biểu mẫu hoặc thực thi quy tắc.

Một trigger được thực thi trước (BEFORE) hoặc sau (AFTER) các sự kiện sau:

  • INSERT — khi hàng mới được chèn.
  • UPDATE — khi hàng hiện có được cập nhật.
  • DELETE — khi hàng bị xóa.

Trigger nào kích hoạt và điều gì xảy ra tùy thuộc vào cách nó được viết. Hãy bắt đầu bằng cách tạo câu lệnh CREATE:

CREATE TRIGGER <ten_trigger> [BEFORE|AFTER] [INSERT|UPDATE|DELETE] ON <ten_bang> 
[FOR EACH ROW|FOR EACH STATEMENT] 
BEGIN <logic_trigger> END;

Giữa các cặp <>, thay bằng tên tùy chỉnh hoặc logic của bạn. Bên trong [ ], chọn một lựa chọn từ các lựa chọn cho trước.

  • BEFORE/AFTER và INSERT|UPDATE|DELETE: Chọn một từ mỗi danh sách. BEFORE/AFTER xác định khi nào trigger xảy ra. INSERT/UPDATE/DELETE là sự kiện xảy ra để kích hoạt trigger.
  • FOR EACH ROW | FOR EACH STATEMENT: Khác biệt giữa hai lựa chọn là khác biệt về số lần trigger chạy. FOR EACH ROW kích hoạt trên mỗi hàng bị ảnh hưởng trong bảng. FOR EACH STATEMENT luôn chạy ít nhất một lần, dù có hàng nào được cập nhật hay không.

Tương tự như cơ sở dữ liệu hoặc bảng, có tùy chọn DROP TRIGGER:

DROP TRIGGER [IF EXISTS] ten_trigger;

IF EXISTS là phần tùy chọn của cú pháp. Nếu bao gồm trong khối câu lệnh, phần này ngăn chặn lỗi "trigger không tồn tại". Bảng bị xóa tự động xóa tất cả trigger liên quan.

Nhớ rằng SQL trigger yêu cầu ba điều chính:

  1. Câu lệnh CREATE đặt tên trigger và khi sự kiện xảy ra.
  2. Trigger chạy bao nhiêu lần (FOR EACH ROW/STATEMENT).
  3. Khối BEGIN/END trình bày logic thực tế cho trigger.

Hãy tiếp tục thực hành nếu không hiểu ngay — vì đây là khái niệm nâng cao trong SQL, nó có thể cần nhiều lần lặp lại hơn các chủ đề và hàm SQL khác để nắm vững.