CREATE OR REPLACE TRIGGER audit_emp_values
AFTER DELETE OR INSERT OR UPDATE ON emp
FOR EACH ROW
BEGIN
INSERT INTO audit_emp_table (user_name, timestamp,
old_empno,new_empno,old_ename, new_ename,
old_job,new_job, old_sal, new_sal)
VALUES (USER, SYSDATE, :OLD.empno,:NEW.empno,
:OLD.ename, :NEW.ename, :OLD.job,
:NEW.job, :OLD.sal, :NEW.sal );
END;
试验:
Select * From audit_emp_table
Update emp Set sal = sal;
Commit;
触发器例子1:
create or replace trigger ZA_ZFBA_JCXX_RK_WFXYRXX
before insert or update on ZA_ZFBA_JCXX_RK_WFXYRXX
for each row
declare
begin
if inserting then
:new.gxsj :=sysdate;
:new.tbsj :=sysdate;
elsif updating then
:new.gxsj :=sysdate;
end if;
end;
触发器例子2.
create or replace trigger update_sary
after update on za_zfba_jcxx_rk_sary
for each row
DECLARE
BEGIN
IF(:new.GMSFHM is not null) THEN
update ZA_ZFBA_JCXX_RK_SARY_H t
set t.GMSFHM = gmsfhm, t.XM = xm, t.RYXH = :new.RYXH
where t.RYXH = :old.RYXH and t.AJBH = :old.AJBH and RYLB = '0';
END IF;
END update_sary;