演示一个通过触发器进行审计的示例

简介:

更多精彩内容尽在www.leonarding.com

Car表是一个非常重要的表,记录了4S店汽车的销量情况,我们要对操作这个表动作进行审计

LEO1@LEO1>select * from car;

NAME                       NUM       COST

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

toyota                       10         30

volvo                        50         30

honda                        60         30

biaozhi                      70         20

xuetielong                   80         20

polo                         90         20

xiali                        20         10

jili                         30         10

byd                          40         10

9 rows selected.

创建审计表car_audit

LEO1@LEO1>create table car_audit (

name varchar2(20),

num number,

cost number,

uuser varchar2(20),

ddate date);  2   3    4    5   6  

Table created.

创建审计触发器

LEO1@LEO1>create trigger trg_car_audit

after insert or delete or update on car

for each row

declare

a_name  varchar2(20);

a_num  number;

a_cost number;

begin

a_name :=:old.name;

a_num :=:old.num;

a_cost :=:old.cost;

insert into car_auditvalues(a_name,a_num,a_cost,user,sysdate);

end;

/

2    3    4   5    6    7   8    9   10  11   12   13  14  

Trigger created.

删除记录

LEO1@LEO1>delete from car where num=100;

1 row deleted.

LEO1@LEO1>commit;

Commit complete.

插入记录

LEO1@LEO1>insert into carvalues('kia',100,50);

1 row created.

LEO1@LEO1>commit;

Commit complete.

更新记录

LEO1@LEO1>update car set num=200 wherenum=100;

1 row updated.

LEO1@LEO1>commit;

Commit complete.

凡是对car表进行DML操作都会触发审计触发器,并在car_audit表中留下审计记录

LEO1@LEO1>select * from car_audit;

NAME       NUM      COST      UUSER                DDATE

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

kia            100       50       LEO1                 15-JUN-13

                                 LEO1                 15-JUN-13

kia            100       50      LEO1                 15-JUN-13





 本文转自 ztfriend 51CTO博客,原文链接:http://blog.51cto.com/leonarding/1223404 ,如需转载请自行联系原作者

相关文章
|
Serverless 文件存储 对象存储
OSS 触发器实用函数示例集锦
OSS 触发器实用函数示例
2080 0
|
8月前
|
监控 关系型数据库 MySQL
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
10月前
|
存储 安全 关系型数据库
2024 Mysql基础与进阶操作系列之MySQL触发器详解(21)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
MySQL触发器的使用场景之数据完整性约束、如何具体创建person的日志表、触发器与存储过程的对比与选择、触发器的性能和注意事项等具体操作详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
|
存储 关系型数据库 MySQL
MySQL 中的触发器数量之谜
【8月更文挑战第31天】
198 0
|
SQL 数据采集 关系型数据库
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)

热门文章

最新文章