Back to photostream

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 đó.

 

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.

 

Nguồn: codegym.vn/blog/2023/11/21/trigger-trong-sql/

58 views
0 faves
0 comments
Uploaded on November 21, 2023