首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

oracle 触发器 对某张表施行删除和更新操作后记录动作

2012-07-23 
oracle 触发器 对某张表执行删除和更新操作后记录动作create or replace trigger emp_budbefore update or

oracle 触发器 对某张表执行删除和更新操作后记录动作

create or replace trigger emp_budbefore update or delete on empfor each rowdeclare  v_action varchar2(50);  v_log    varchar2(500) := '';begin  if :new.empno is not null then    begin      v_log := v_log || '操作' || :new.empno ;      if :new.ename <> :old.ename then        v_log := v_log || ' ename 由' || :old.ename || '更改为' || :new.ename;      end if;      if :new.job <> :old.job then        v_log := v_log || ' job 由' || :old.job || '更改为' || :new.job;      end if;      if :new.mgr <> :old.mgr then        v_log := v_log || ' mgr 由' || :old.mgr || '更改为' || :new.mgr;      end if;      if :new.hiredate <> :old.hiredate then        v_log := v_log || ' hiredate 由' || :old.hiredate || '更改为' ||                 :new.hiredate;      end if;      if :new.sal <> :old.sal then        v_log := v_log || ' sal 由' || :old.sal || '更改为' || :new.sal;      end if;      if :new.comm <> :old.comm then        v_log := v_log || ' comm 由' || :old.comm || '更改为' || :new.comm;      end if;      if :new.deptno <> :old.deptno then        v_log := v_log || ' deptno 由' || :old.deptno || '更改为' || :new.deptno;      end if;      if UPDATING then        v_action := 'update';      elsif deleting then        v_action := 'delete';      end if;      insert into emp_log        (id, action, time, log, actor)      values        (EMPLOG_SEQ.NEXTVAL, v_action, sysdate, v_log, USER);      /*pkg_emp.v_emp_obj.empno := :new.empno;      select *      into   pkg_emp.v_emp_obj      from   emp      where  empno = pkg_emp.v_emp_obj.empno;      dbms_output.put_line ( 'ename = ' || pkg_emp.v_emp_obj.ename || ' job = ' || pkg_emp.v_emp_obj.job );*/    exception      when others then        dbms_output.put_line(SQLCODE || '-before-' || SQLERRM);    end;  else    pkg_emp.v_emp_obj.empno := 0;  end if;end;

?例子: update emp where empno=7369;

注意 : 本例子中一定要有empno才可以

热点排行