大家平时存储过程是怎么写日志的

我总结了几个,但是都有缺点:

1 dbms_output.put_line

缺点是如果不set serveroutput on 日志就无法显示

2 写日志表

缺点是,存储过程异常,日志就会丢失。 并且写表数据库消耗大 (当然,这是个小问题)

3 自治事务写日志表

缺点是,数据库消耗大(因为每写一条日志都是一个事务)

4 调用utl_file写日志

缺点是,只能在数据库服务器使用,并且需要创建directory的权限。这个不是开发、维护人员轻易能获得的

create procedure pro_a_testlogrollback as
   v_val number;
begin
   insert into a_testdata values(3);
   v_val := 1/0;
exception
    when others then
       rollback;  
       insert into a_testlog values(sysdate,'异常操作已经回滚');
       commit;
end;

 

转载于:https://www.cnblogs.com/lukelook/p/11246392.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值