Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Ví dụ về mệnh đề WHEN của Oracle Trigger

Trong bài viết này, bạn sẽ học cách sử dụng mệnh đề WHEN trong trình kích hoạt Oracle để kích hoạt trình kích hoạt theo điều kiện đã chỉ định. Dưới đây là một ví dụ.

Bạn có thể kiểm tra ví dụ về trình kích hoạt này bằng cách tạo bảng sau và kích hoạt trong lược đồ cơ sở dữ liệu Oracle của bạn.

Tạo bảng

CREATE TABLE EMP
(
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10 BYTE),
JOB VARCHAR2(9 BYTE),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
)
/

Tạo trình kích hoạt cơ sở dữ liệu Oracle với mệnh đề WHEN

Trình kích hoạt sau sẽ chỉ kích hoạt khi JOB bằng CLERK và nếu đúng như vậy, thì nó sẽ đặt cột COMM (hoa hồng) thành 0.

CREATE OR REPLACE TRIGGER emp_trig_1
BEFORE INSERT
ON EMP
FOR EACH ROW
WHEN (NEW.job = 'CLERK')
BEGIN
:NEW.comm := 0;
END;
/

Kiểm tra

Câu lệnh chèn dưới đây cho bảng EMP sẽ cố gắng chèn một bản ghi cho CLERK với hoa hồng 300.

SET DEFINE OFF;
Insert into EMP
(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
Values
(7499, 'ALLEN', 'CLERK', 7698,
TO_DATE('02/20/1981 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1600, 300, 30);
COMMIT;

Truy vấn Bảng

Bây giờ, hãy truy vấn bảng EMP để biết bản ghi đã chèn ở trên và bạn sẽ thấy rằng giá trị cột COMM là 0 .

SELECT *
FROM EMP
WHERE EMPNO = 7499;

Xem thêm:

  • Tìm hiểu cách tạo trình kích hoạt trong Oracle SQL Developer
  • Tạo trình kích hoạt trong ví dụ về biểu mẫu Oracle
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tình huống nào khiến các gói Oracle trở nên không hợp lệ?

  2. Chi phí trong bộ nhớ của Oracle

  3. Oracle:Cách đếm các hàng rỗng và không rỗng

  4. Tìm việc làm hiện tại cho các biểu mẫu &báo cáo Oracle

  5. Cách giải quyết ORA-011033:Đang khởi động hoặc tắt ORACLE