用触发器,如下例子可能对你有帮助 create or replace trigger tr_audit_emp after insert or update or delete on emp declare v_temp int; begin select count(*) into v_temp from audit_table where name = 'emp'; if v_temp = 0 then insert into audit_table values('emp',0,0,0,sysdate,null); end if;
case when inserting then update audit_table set ins = ins + 1,endtime = sysdate where name = 'emp'; when updating then update audit_table set upd = upd + 1,endtime = sysdate where name = 'emp'; when deleting then update audit_table set del = del + 1,endtime = sysdate where name = 'emp'; end case; end tr_audit_emp;
create or replace trigger tr_audit_emp
after insert or update or delete on emp
declare
v_temp int;
begin
select count(*) into v_temp from audit_table where name = 'emp';
if v_temp = 0 then
insert into audit_table values('emp',0,0,0,sysdate,null);
end if;
case
when inserting then
update audit_table set ins = ins + 1,endtime = sysdate where name = 'emp';
when updating then
update audit_table set upd = upd + 1,endtime = sysdate where name = 'emp';
when deleting then
update audit_table set del = del + 1,endtime = sysdate where name = 'emp';
end case;
end tr_audit_emp;