- CREATE OR REPLACE TRIGGER audit-table-DEPT AFTER  
- INSERT OR UPDATE OR DELETE ON DEPT FOR EACH ROW  
- declare  
- audit_data DEPT$audit%ROWTYPE;  
- begin  
- if inserting then audit_data.change_type := 'I';  
- elsif updating then audit_data.change_type :='U';  
- else audit_data.change_type := 'D';  
- end if;  
- audit_data.changed_by := user;  
- audit_data.changed_time := sysdate;  
- case audit_data.change_type  
- when 'I' then  
- audit_data.DEPTNO := :new.DEPTNO;  
- audit_data.DNAME := :new.DNAME;  
- audit_data.LOC := :new.LOC;  
- else  
- audit_data.DEPTNO := :old.DEPTNO;  
- audit_data.DNAME := :old.DNAME;  
- audit_data.LOC := :old.LOC;  
- end case;  
- insert into DEPT$audit values audit_data;  
- end;
Trigger created.
 
(i) What would happen when the trigger is fired?
 
(ii) Discuss how this can affect normal database operations.