Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE TRIGGER trg_update_view_3
- INSTEAD OF UPDATE
- ON dept_sal
- FOR EACH ROW
- DECLARE
- dno INTEGER;
- diff INTEGER;
- countemp INTEGER;
- BEGIN
- IF ( NOT :NEW.DNAME = :old.DNAME ) THEN
- UPDATE dept
- SET DNAME = :NEW.DNAME
- WHERE DNAME = :old.DNAME;
- END IF;
- IF ( NOT :NEW.SUMSAL = :old.SUMSAL ) THEN
- SELECT deptno INTO dno
- FROM dept
- WHERE dname = :old.DNAME;
- DBMS_OUTPUT.put_line(dno);
- SELECT COUNT(empno) INTO countemp
- FROM emp
- WHERE deptno = dno;
- DBMS_OUTPUT.put_line(countemp);
- INSERT INTO deptemp VALUES(dno, countemp);
- diff := (:NEW.SUMSAL - :old.SUMSAL) / countemp;
- UPDATE emp
- SET SAL = SAL + diff
- WHERE deptno = dno;
- END IF;
- END;
- /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement