Compound Trigger with Example
My Tech Channel link:- https://www.youtube.com/oracleshooter
--OF SAL
ON XX_EMP
COMPOUND TRIGGER
Exception-handling-statements
EMPNO |
ENAME |
JOB |
MGR |
HIREDATE |
SAL |
COMM |
DEPTNO |
7369 |
SMITH |
CLERK |
7902 |
17-Dec-80 |
800 |
|
20 |
7499 |
ALLEN |
SALESMAN |
7698 |
20-Feb-81 |
1600 |
300 |
30 |
7521 |
WARD |
SALESMAN |
7698 |
22-Feb-81 |
1250 |
500 |
30 |
7566 |
JONES |
MANAGER |
7839 |
02-Apr-81 |
2975 |
|
20 |
7654 |
MARTIN |
SALESMAN |
7698 |
28-Sep-81 |
1250 |
1400 |
30 |
7698 |
BLAKE |
MANAGER |
7839 |
01-May-81 |
2850 |
|
30 |
7782 |
CLARK |
MANAGER |
7839 |
09-Jun-81 |
2450 |
|
10 |
7788 |
SCOTT |
ANALYST |
7566 |
09-Dec-82 |
3000 |
|
20 |
7839 |
KING |
PRESIDENT |
|
17-Nov-81 |
5000 |
|
10 |
7844 |
TURNER |
SALESMAN |
7698 |
08-Sep-81 |
1500 |
0 |
30 |
7876 |
ADAMS |
CLERK |
7788 |
12-Jan-83 |
1100 |
|
20 |
7900 |
JAMES |
CLERK |
7698 |
03-Dec-81 |
950 |
|
30 |
7902 |
FORD |
ANALYST |
7566 |
03-Dec-81 |
3000 |
|
20 |
7934 |
MILLER |
CLERK |
7782 |
23-Jan-82 |
1300 |
|
10 |
9001 |
Manoj |
CLERK |
|
08-Nov-20 |
1000 |
450 |
40 |
--OF SAL
ON XX_EMP
COMPOUND TRIGGER
--Section 1 -- sequence 1 -
BEFORE STATEMENT IS
BEGIN
dbms_output.put_line ('************ Statement Level - BEFORE Trigger Fired *************' );
END BEFORE STATEMENT;
--Section 2 -- sequence 2 -
BEFORE EACH ROW IS
BEGIN
dbms_output.put_line ('************ Row Level - BEFORE Trigger Fired *************' );
END BEFORE EACH ROW;
--Section 3 -- sequence 3 -
AFTER EACH ROW IS
BEGIN
dbms_output.put_line ('************ Row Level - AFTER Trigger Fired *************' );
END AFTER EACH ROW;
--Section 4 -- sequence 4 -
AFTER STATEMENT IS
BEGIN
dbms_output.put_line ('************ Statement Level - AFTER Trigger Fired *************' );
END AFTER STATEMENT;
--OF SAL
ON XX_EMP
COMPOUND TRIGGER
--Section 1 -- sequence 1 -
BEFORE STATEMENT IS
BEGIN
dbms_output.put_line ('************ Statement Level - BEFORE Trigger *************' );
IF INSERTING THEN
dbms_output.put_line ('INSERT');
ELSIF UPDATING THEN
dbms_output.put_line ('UPDATE');
ELSIF DELETING THEN
dbms_output.put_line ('DELETE');
END IF;
--Section 2 -- sequence 2 -
BEFORE EACH ROW IS
BEGIN
dbms_output.put_line ('************ Row Level - BEFORE Trigger *************' );
IF INSERTING THEN
dbms_output.put_line ('INSERT');
ELSIF UPDATING THEN
dbms_output.put_line ('UPDATE');
ELSIF DELETING THEN
dbms_output.put_line ('DELETE');
END IF;
--Section 3 -- sequence 3 -
AFTER EACH ROW IS
BEGIN
dbms_output.put_line ('************ Row Level - AFTER Trigger *************' );
IF INSERTING THEN
dbms_output.put_line ('INSERT');
ELSIF UPDATING THEN
dbms_output.put_line ('UPDATE');
ELSIF DELETING THEN
dbms_output.put_line ('DELETE');
END IF;
--Section 4 -- sequence 4 -
AFTER STATEMENT IS
BEGIN
dbms_output.put_line ('************ Statement Level - AFTER Trigger *************' );
IF INSERTING THEN
dbms_output.put_line ('INSERT');
ELSIF UPDATING THEN
dbms_output.put_line ('UPDATE');
ELSIF DELETING THEN
dbms_output.put_line ('DELETE');
END IF;
set SAL = 2000
where EMPNO = '9001'
where EMPNO = '9001'
Comments
Post a Comment