Oracle基于值如何审核

网友投稿 227 2023-12-07

Oracle基于值如何审核

这篇文章主要为大家展示了“Oracle基于值如何审核”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle基于值如何审核”这篇文章吧。

Oracle基于值如何审核

Oracle通过使用触发器,可以实现基于值的审核。

基于值的审核实验:

1、用户scott有一张员工表emp,其中字段sal记录了每位员工的工资信息

2、创建一个审核表用来记录审核结果

create table scott.emp_sal_audit

  (hostvarchar2(50), ip_address varchar2(20), emp_no varchar2(20), old_value number, new_value number, update_time date);

3、为表scott.emp创建一个触发器,对字段sal的值的更新应用触发,记录更新前后值,并记录执行更新的客户端信息

create or replace trigger sal_audit

after update of sal on scott.emp

for each row

  begin

    if :old.sal != :new.sal then

insert into scott.emp_sal_audit values

      (sys_context(userenv, host),

sys_context(userenv, ip_address),

:new.empno,

:old.sal,

:new.sal,

sysdate);

    end if;

  end;

4、查询当前记录,并执行更新

select * from emp where empno=7369;

EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO

----- ---------- --------- ----- ----------- --------- --------- ------

7369 SMITH      CLERK      7902 1980/12/17     800.00               20

update emp set sal=900 where empno=7369;

commit;

5、查看审核记录

select * from emp_sal_audit;

HOSTIP_ADDRESS           EMP_NO     OLD_VALUE  NEW_VALUEUPDATE_TIME

-------------------- -------------------- ---------- ---------- ---------- --------------------

WORKGROUP\MYPC       192.168.133.1        7369              800        900 2015/9/3 16:34:27

该表记录了执行变更的客户端机器、IP地址、更新前后值、更新时间等,触发器中使用了oracle函数sys_context用来获取系统环境信息。

以上是“Oracle基于值如何审核”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:12c如何监控DDL
下一篇:Oracle内存结构SGA、PGA、UGA的示例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~