after delete trigger

在未开启审计的系统中,一张核心业务数据表,需要记录下非业务用户删除数据的操作。即创建一个记录其他用户删除表数据的trigger。 
下面是简单测试: 
t_test为测试数据表,obj_after_delete为触发器,业务用户为awen,如果是非业务用户删除表数据,trigger就将信息记录到del_rec表中。 
SQL> desc del_rec 
 Name                                              Null?    Type 
 ------------------------------------------------- -------- ---------------- 
 USERNAME                                                   VARCHAR2(20) 
 ID                                                         NUMBER(5) 
 DEL_TIME                                                   DATE 

SQL> desc t_test 
 Name                                              Null?    Type 
 ------------------------------------------------- -------- ---------------- 
 OWNER                                                      VARCHAR2(30) 
 OBJECT_NAME                                                VARCHAR2(128) 
 SUBOBJECT_NAME                                             VARCHAR2(30) 
 OBJECT_ID                                                  NUMBER 
 DATA_OBJECT_ID                                             NUMBER 
 OBJECT_TYPE                                                VARCHAR2(19) 
 CREATED                                                    DATE 
 LAST_DDL_TIME                                              DATE 
 TIMESTAMP                                                  VARCHAR2(19) 
 STATUS                                                     VARCHAR2(7) 
 TEMPORARY                                                  VARCHAR2(1) 
 GENERATED                                                  VARCHAR2(1) 
 SECONDARY                                                  VARCHAR2(1) 
 NAMESPACE                                                  NUMBER 
 EDITION_NAME                                               VARCHAR2(30) 


CREATE OR REPLACE TRIGGER obj_before_delete 
AFTER DELETE  ON awen.t_test  
FOR EACH ROW 
BEGIN 
if(user!='AWEN') then 
   INSERT INTO awen.del_rec (id,USERNAME,DEL_TIME) VALUES  (:old.object_id,user,sysdate); 
end if; 
END;

可以扩展记录更多信息,另外,trigger对性能可能会有影响,须测试后再部署生成环境。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值