Lưu giữ trigger

Một phần của tài liệu Giáo trình SQL và PL/SQL Cơ bản pdf (Trang 91 - 95)

Hình vẽ 17. Trigger tác động trên dòng dữ liệu

13.2.QUẢN LÝ TRIGGER

13.2.1. Phân biệt database trigger

Trigger và thủ tục

Trigger Thủ tục

Lệnh tạo CREATE TRIGGER Lệnh tạo CREATE PROCEDURE

Lưu giữ trong Từ điển dữ liệu dưới dạng mã nguồn và dạng p-code

Lưu giữ trong Từ điển dữ liệu dưới dạng mã nguồn và dạng p-code

Được gọi ngầm định Thực hiện theo lời gọi tường minh

Không cho phép dùng: COMMIT,

ROLLBACK, SAVEPOINT

Cho phép dùng: COMMIT, ROLLBACK,

SAVEPOINT.

Database Trigger và Form Trigger

Database Trigger Form Trigger

Được thực hiện khi có tác động lên database do ứng dụng hoặc do chính các công cụ của Oracle

Được thực hiện chỉ bởi các tác động ngay trên ứng dụng

Được kích hoạt bởi các lệnh SQL Được kích bởi các sự kiện trên ứng dụng

Phân biệt hai loại trigger trên câu lệnh và trên dòng dữ liệu

Không phân biệt

Tuỳ theo lỗi xảy ra, trigger có thể gây ra rollback câu lệnh

Tuỳ theo lỗi xảy ra, có thể rollback toàn bộ giao dịch

Database Trigger được kích hoạt độc lập với các Form Trigger

13.2.2. Thay đổi trạng thái của database trigger

Cho phép/ không cho phép kích hoạt một databse trigger Cú pháp:

Với:

trigger_name Tên trigger; Ví dụ:

-- Cho phép trigger được hoạt động

ALTER TRIGGER check_sal ENABLE;

Cho phép/ không cho phép kích hoạt tất cả các databse trigger của một bảng Cú pháp:

ALTER TABLE table_name DISABLE | ENABLE ALL TRIGGERS; Với:

table_name Tên bảng;

Ví dụ:

-- Không cho phép các trigger ứng với bảng emp được hoạt động ALTER TABLE emp DISABLE ALL TRIGGERS;

Biên dịch lại databse trigger Cú pháp:

ALTER TRIGGER trigger_name COMPILE; Ví dụ:

-- Biên dịch lại trigger check_sal sau khi sửa đổi nội dung ALTER TRIGGER check_sal COMPILE;

13.2.3. Huỷ bỏ trigger

Sử dụng câu lệnh SQL để huỷ bỏ trigger. Cú pháp:

DROP TRIGGER trigger_name; Ví dụ:

DROP TRIGGER check_sal;

13.2.4. Lưu ý khi sử dụng trigger

Các trường hợp kiểm tra trigger

 Kiểm tra trigger đúng với thao tác dữ liệu như dự định.

 Kiểm tra thực hiện trigger theo đúng như mệnh đề When.

 Kiểm tra ảnh hưởng của trigger đối với các trigger khác.

 Kiểm tra ảnh hưởng của các trigger khác đối với trigger đang xem xét.

Thứ tự thực hiện trigger và các kiểm tra ràng buộc:

Một phần của tài liệu Giáo trình SQL và PL/SQL Cơ bản pdf (Trang 91 - 95)