Trigger Oracle PLSQL

SQL> CREATE TABLE DEPT (DEPTNO NUMBER(2),DNAME VARCHAR2(14),LOC VARCHAR2(13) );
Table created.
SQL>
SQL> INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
1 row created.
SQL> INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
1 row created.
SQL> INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
1 row created.
SQL> INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');
1 row created.
SQL>
SQL>
SQL>
SQL>
SQL> -- Example of a trigger.
SQL> CREATE OR REPLACE TRIGGER department_insert_update
  2  BEFORE INSERT OR UPDATE ON dept
  3         FOR EACH ROW
  4  DECLARE
  5     dup_flag  INTEGER;
  6  BEGIN
  7     --Force all department names to uppercase.
  8      :NEW.dname := UPPER(:NEW.dname);
  9  END;
 10   /
Trigger created.
SQL>
SQL> --  Testing the department_insert_update trigger.
SQL>  INSERT INTO dept (deptno, dname) VALUES (10,'payroll');
1 row created.
SQL>
SQL>  INSERT INTO dept (deptno, dname) VALUES (11,'Sewage');
1 row created.
SQL>
SQL>  UPDATE dept SET dname = 'Payroll' WHERE deptno = 10;
2 rows updated.
SQL>
SQL>  SELECT deptno, dname FROM dept WHERE deptno BETWEEN 10 AND 11;
    DEPTNO DNAME
---------- --------------
        10 PAYROLL
        10 PAYROLL
        11 SEWAGE
SQL>
SQL>
SQL>
SQL>
SQL> drop table dept;
Table dropped.
SQL>
SQL>
SQL>
SQL>
SQL>