15.2.QUẢN LÝ TRIGGER

Một phần của tài liệu Giao_Trinh_Oracle_SQL_PLSQL_Co_Ban_1 (Trang 104 - 106)

- Thay DEPTNO của các nhân viên này bằng DEPTNO của Boston Thay lương mỗi nhân viên bằng lương trung bình của bộ phậ n * 1.1 Thay commission c ủ a

15.2.QUẢN LÝ TRIGGER

15.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 Lưu giữ trong Từ điển dữ liệu dưới dạng mã nguồn và dạng p-code 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, Cho phép dùng: COMMIT, ROLLBACK, ROLLBACK, SAVEPOINT SAVEPOINT.

Database Trigger và Form Trigger Database 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 kích hoạt bởi các lệnh SQL

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

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

Form Trigger

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

Được kích bởi các sự kiện trên ứng dụng Không phân biệt

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 15.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:

ALTER TRIGGER trigger_name DISABLE | ENABLE;

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;

15.2.3. Huỷ bỏ trigger

Sử dụng câu lệnh SQL để huỷ bỏ trigger.

Oracle cơ bản - SQL và PL/SQL Cú pháp:

DROP TRIGGER trigger_name;

Ví dụ:

DROP TRIGGER check_sal;

15.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: 1. Thực hiện trigger BEFORE STATMENT

Một phần của tài liệu Giao_Trinh_Oracle_SQL_PLSQL_Co_Ban_1 (Trang 104 - 106)

Tải bản đầy đủ (DOC)

(107 trang)
w