【原創】 演示一個通過觸發器進行審計的示例

leonarding發表於2013-06-17

更多精彩內容盡在 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



Leonarding
2013.6.15
北京
&summer
分享技術~
成就夢想
Blogwww.leonarding.com

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-764083/,如需轉載,請註明出處,否則將追究法律責任。

相關文章