Trang chủ » Blog » TRIGGER trong SQL | Bật mí về sự lợi hại của TRIGGER

TRIGGER trong SQL | Bật mí về sự lợi hại của TRIGGER

Tự động hoá (automation) là điều ai cũng muốn thực hiện cho bất kỳ vấn đề gì, kể cả các vấn đề ở Database (DB). Thì ở phần kiến thức hôm nay, TRIGGER sẽ thể hiện được tính chất này.

1. TRIGGER trong SQL là gì?

Cũng giống như hàm trong các ngôn ngữ, là tập hợp các câu lệnh SQL để xử lý cho một nghiệp vụ nào đó.

[Database] Trigger

Khái niệm Trigger

2. Mục đích sử dụng TRIGGER

  • Hàm tự động chạy khi có một sự kiện xảy ra trên table.
  • Các sự kiện đó chính là: INSERT, UPDATE, DELETE.

3. Hướng dẫn cách sử dụng TRIGGER

3.1. Tạo TRIGGER

Cú pháp

CREATE TRIGGER trigger_name

(AFTER | BEFORE) (INSERT | UPDATE | DELETE)

ON table_name FOR EACH ROW

BEGIN

--variable declarations

--trigger code

END;

Ví dụ

delimiter //

CREATE TRIGGER auto_create_account_for_doctor

AFTER INSERT

ON doctor FOR EACH ROW

BEGIN

INSERT INTO account_system (`account`, `password`, doctor_id)

     VALUES (CONCAT('doctor', NEW.doctor_id), '12345678', NEW.doctor_id);

END //

delimiter ;

Với TRIGGER bên trên, nó sẽ tự động tạo ra tài khoản của bác sĩ dựa trên thông tin của bác sĩ mới được thêm vào table doctor, tài khoản sẽ có định dạng là “doctor[doctor_id]”, mật khẩu là “12345678”. Còn về từ khoá NEW, hãy tiếp tục theo dõi ở mục bên dưới.

3.2. Xoá TRIGGER

Cú pháp

DROP TRIGGER trigger_name

Ví dụ

Thự hiện xoá TRIGGER đã tạo ở bên trên

DROP TRIGGER auto_create_account_for_doctor

4. Một số keyword cần lưu ý

Ở cú pháp và ví dụ bên trên, có một số từ khoá các bạn cần phải hiểu thì mới có thể sử dụng TRIGGER dễ dàng:

  • INSTEAD OF

Hoạt động thay thế cho sự kiện.

  • BEFORE

Hoạt động trước khi xảy ra sự kiện.

  • AFTER

Hoạt động sau khi xảy ra sự kiện.

  • OLD

Thể hiện cho record vừa DELETE hoặc dữ liệu cũ trước khi UPDATE.

  • NEW

Thể hiện cho record vừa INSERT hoặc dữ liệu mới sau khi UPDATE.

Kết luận

Phần chia sẻ hôm nay của mình thì chỉ đến đây thôi, với TRIGGER thì nó sẽ giúp cho bạn tạo ra những đoạn chương trình tự hoạt động để giải quyết công việc cụ thể, còn ngược lại nếu cần phải gọi mới hoạt động thì bạn nên sử dụng FUNCTION hay STORED PROCEDURE.

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

10 + 11 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM