Oracle
 sql >> база данни >  >> RDS >> Oracle

Пример за задействане на Oracle WHEN

В тази статия ще научите как да използвате клауза WHEN в тригера на Oracle, за да активирате тригера при посоченото условие. По-долу е даден пример.

Можете да тествате този пример за задействане, като създадете следната таблица и тригер във вашата схема на база данни на Oracle.

Създаване на таблица

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)
)
/

Създайте тригер за база данни на Oracle с клауза WHEN

Следното задействане ще се задейства само когато JOB е равно на CLERK , и ако е, тогава ще зададе колоната COMM (комисионна) на 0.

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

Тест

Изявлението за вмъкване по-долу за таблица EMP ще се опита да вмъкне запис за CLERK с комисионна 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;

Запитване за таблицата

Сега потърсете таблицата EMP за вмъкнатия по-горе запис и ще откриете, че Стойността на колоната COMM е 0 .

SELECT *
FROM EMP
WHERE EMPNO = 7499;

Вижте също:

  • Научете как да създадете тригер в Oracle SQL Developer
  • Създаване на тригери в пример за Oracle Forms
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция CAST() в Oracle

  2. Как да знам идентификатора, преди да запиша обект в jpa

  3. Как да форматирате числа в Oracle

  4. Как мога да разбера дали имам необвързана работа в транзакция на Oracle?

  5. Какво представляват Oracle Joins (Sql Joins)?