Quản trị trigger trong Oracle Database

Quản trị trigger trong Oracle Database bao gồm việc tạo, sửa đổi và xóa các trigger. Trigger là các đối tượng cơ sở dữ liệu được kích hoạt tự động khi có sự kiện xảy ra trong cơ sở dữ liệu, như INSERT, UPDATE hoặc DELETE trên một bảng cụ thể. Trigger thường được sử dụng để thực hiện các hành động phụ trợ, như kiểm tra dữ liệu, cập nhật thông tin, hoặc ghi log.

Tạo Trigger

Trong Oracle, trigger được tạo bằng lệnh CREATE TRIGGER.

Cú pháp

CREATE [OR REPLACE] TRIGGER trigger_name

{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE | {INSERT | UPDATE | DELETE}}

ON table_name

[FOR EACH ROW]

DECLARE

— Khai báo biến

BEGIN

— Câu lệnh thực thi

EXCEPTION

— Xử lý ngoại lệ

END trigger_name;

Ví dụ

Dưới đây là một ví dụ về việc tạo trigger để ghi log mỗi khi có bản ghi được thêm vào bảng orders:

CREATE OR REPLACE TRIGGER log_order_insert

AFTER INSERT ON orders

FOR EACH ROW

DECLARE

v_log_message VARCHAR2(100);

BEGIN

v_log_message := ‘New order inserted: ‘ || :NEW.order_id || ‘ – ‘ || :NEW.order_date;

INSERT INTO order_logs (log_message, log_date)

VALUES (v_log_message, SYSDATE);

EXCEPTION

WHEN OTHERS THEN

— Xử lý ngoại lệ

DBMS_OUTPUT.PUT_LINE(‘Error: ‘ || SQLERRM);

END log_order_insert;

Sửa Đổi Trigger

Để sửa đổi một trigger đã tồn tại, bạn có thể sử dụng lệnh CREATE OR REPLACE TRIGGER.

Ví dụ

CREATE OR REPLACE TRIGGER log_order_insert

AFTER INSERT ON orders

FOR EACH ROW

DECLARE

v_log_message VARCHAR2(100);

BEGIN

v_log_message := ‘New order inserted: ‘ || :NEW.order_id || ‘ – ‘ || :NEW.order_date;

INSERT INTO order_logs (log_message, log_date)

VALUES (v_log_message, SYSDATE);

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(‘Error: ‘ || SQLERRM);

END log_order_insert;

Xóa Trigger

Để xóa một trigger, sử dụng lệnh DROP TRIGGER.

Ví dụ

DROP TRIGGER log_order_insert;

Quyền Truy Cập

Để tạo và sử dụng trigger, bạn cần quyền CREATE TRIGGER.

Cấp Quyền

GRANT CREATE TRIGGER TO user_name;

Sử Dụng Trigger

Trigger thường được sử dụng để thực hiện các hành động phụ trợ, như kiểm tra dữ liệu, cập nhật thông tin hoặc ghi log. Dưới đây là một số ví dụ về cách sử dụng trigger:

  • Kiểm Tra Dữ Liệu Trước Khi Thêm: Trước khi thêm một bản ghi mới vào bảng, trigger có thể kiểm tra điều kiện và quyết định liệu hành động được phép thực hiện hay không.
  • Cập Nhật Thông Tin Tương Ứng: Trigger có thể tự động cập nhật thông tin trong các bảng khác khi có thay đổi xảy ra.
  • Ghi Log Sự Kiện: Trigger có thể ghi lại các sự kiện quan trọng, như thêm, sửa đổi hoặc xóa dữ liệu, vào một bảng log để phân tích sau này.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận