Oracle基于值如何审核

55次阅读
没有评论

共计 1265 个字符,预计需要花费 4 分钟才能阅读完成。

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

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

基于值的审核实验:

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

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

create table
scott.emp_sal_audit

  (host varchar2(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;

HOST   IP_ADDRESS 
EMP_NO  OLD_VALUE  NEW_VALUE  UPDATE_TIME

——————–
——————– ———- ———- ———- ——————–

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

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

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

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计1265字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)