【Oracle 触发器】(5)触发器应用场景--数据库的审计

时间:2021-06-21 05:08:16

触发器应用场景3:数据库的审计-->基于值的审计功能

例子:给员工涨工资,当涨后的薪水超过6000元时,审计该员工的信息

 1 /*
 2 触发器应用场景3:数据库的审计-->基于值的审计功能
 3 给员工涨工资,当涨后的薪水超过6000元时,审计该员工的信息
 4 */
 5 
 6 --创建表,用于保存审计信息
 7 create table audit_info(
 8     information varchar2(200)
 9 );
10 
11 create or replace trigger do_audit_emp_salary
12 after update
13 on emp1
14 for each row
15 declare
16 begin
17     --当涨后的薪水大于6000,就插入审计信息
18     if :new.sal >6000 then
19         insert into audit_info values(:new.empno||' '||:new.ename||' '||:new.sal);
20     end if;
21 end;
22 /

 

测试:

1 --给所有员工涨工资
2 update emp1 set sal=sal+2000;
3 
4 commit;

 

结果:

【Oracle 触发器】(5)触发器应用场景--数据库的审计