database triggers

Mar 9 2021 4:11 PM
  1. CREATE OR REPLACE TRIGGER audit-table-DEPT AFTER  
  2. INSERT OR UPDATE OR DELETE ON DEPT FOR EACH ROW  
  3. declare  
  4. audit_data DEPT$audit%ROWTYPE;  
  5. begin  
  6. if inserting then audit_data.change_type := 'I';  
  7. elsif updating then audit_data.change_type :='U';  
  8. else audit_data.change_type := 'D';  
  9. end if;  
  10. audit_data.changed_by := user;  
  11. audit_data.changed_time := sysdate;  
  12. case audit_data.change_type  
  13. when 'I' then  
  14. audit_data.DEPTNO := :new.DEPTNO;  
  15. audit_data.DNAME := :new.DNAME;  
  16. audit_data.LOC := :new.LOC;  
  17. else  
  18. audit_data.DEPTNO := :old.DEPTNO;  
  19. audit_data.DNAME := :old.DNAME;  
  20. audit_data.LOC := :old.LOC;  
  21. end case;  
  22. insert into DEPT$audit values audit_data;  
  23. end;
Trigger created.
 
(i) What would happen when the trigger is fired?
 
(ii) Discuss how this can affect normal database operations.

Answers (1)