  ,  SQL,  ,     . ,  ,              .    INSTEAD OF:
CREATE OR REPLACE TRIGGER deptsal_update
INSTEAD OF UPDATE ON deptsal DECLARE
emps NUMBER;
diff NUMBER;
dno  NUMBER; BEGIN
IF :new.dname != :old.dname
THEN
UPDATE dept SET dname = :new.dname WHERE dname = :old.dname;
END IF;
IF :new.totsal != :old.totsal
THEN BEGIN
--   
-- ,       SELECT depto INTO dno
FROM dept WHERE dname = :new.dname;
- -     
- -    ,     SELECT COUNT(*) INTO emps
FROM emp WHERE deptno = dno;
--   
diff := (:new.totsal - :old.totsal) /emps; UPDATE emp
SET sal = sal + diff WHERE deptno = dno; END; END IF; END;
   dept  emp (,  , 4   14 ),       ,    ,   , :
UPDATE totsal
SET dname = INITCAP(dname)
, sal_amount = sal_amount + 6 WHARE dname = 'SALES';
  1    ,      30  "SALES"  "Sales".    INSERT  DELETE          ,     ,     Oracle. ,      INSERT  DELETE,
32	Oracle 8