Oracle 的自治事务 AUTONOMOUS TRANSACTION
来源:互联网 发布:家庭网限制80端口吗 编辑:程序博客网 时间:2024/05/29 14:06
以前看同事写的存储过程时,发现经常会在代码的一些分支语句中使用自定义的过程写日志,这个习惯非常好,很方便日常的分析和调试。
点进去看自定义的写日志过程,发现 有 commit 和rollback
如下
--写日志
procedure write_log(l_procedures_name in kk_base_syn_log.procedures_name%type,
l_status in kk_base_syn_log.status%type,
l_log_text in kk_base_syn_log.log_text%type)
is
begin
insert into run_log
(procedures_name, status, log_text)
values
('deal ' || l_procedures_name,
l_status,
'【' || l_procedures_name || '】_数据同步_' || l_log_text);
commit;
exception
when others then
rollback;
end write_log;
这样写是会破坏事务的一致性,查询oracle的官方文档后了解到oracle有一种事务类型叫 AUTONOMOUS TRANSACTION(自治事务)
只需要在 is 和begin 之间添加 PRAGMA AUTONOMOUS_TRANSACTION; 即可。
--写日志
procedure write_log(l_procedures_name in kk_base_syn_log.procedures_name%type,
l_status in kk_base_syn_log.status%type,
l_log_text in kk_base_syn_log.log_text%type)
is
PRAGMA AUTONOMOUS_TRANSACTION;
begin
insert into run_log
(procedures_name, status, log_text)
values
('deal ' || l_procedures_name,
l_status,
'【' || l_procedures_name || '】_数据同步_' || l_log_text);
commit;
exception
when others then
rollback;
end write_log;
- Oracle 的自治事务 AUTONOMOUS TRANSACTION
- 关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍
- 关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍
- 关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍
- 关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍
- oracle自治事务(autonomous transaction)
- AUTONOMOUS TRANSACTION(自治事务)的介绍
- AUTONOMOUS TRANSACTION(自治事务)的介绍
- AUTONOMOUS TRANSACTION(自治事务)的介绍
- AUTONOMOUS TRANSACTION(自治事务)的介绍
- AUTONOMOUS TRANSACTION(自治事务)简介
- 自治事务(Autonomous Transaction)
- Oracle自治事务的介绍(Autonomous Transactions)
- Oracle嵌套事务(Nested Transaction)与自治事务(Autonomous Transaction)详解
- Oracle自治事务的介绍(Autonomous Transactions)PRAGMA AUTONOMOUS_TRANSACTION;
- Oracle自治事务的介绍(Autonomous Transactions)PRAGMA AUTONOMOUS_TRANSACTION
- Oracle自治事务的介绍(Autonomous Transactions)PRAGMA AUTONOMOUS_TRANSACTION;
- Oracle自治事务的介绍(Autonomous Transactions)PRAGMA AUTONOMOUS_TRANSACTION;
- ajax与HTML5 history pushState/replaceState实例
- shell脚本打印日志方法
- 线性布局上的一个小错误
- 动态规划(dynamic programming)初步入门
- android UI进阶之实现listview的分页加载
- Oracle 的自治事务 AUTONOMOUS TRANSACTION
- Robot Framework 自动化测试框架安装
- 基于c++11设计一个定时器timer
- PCM data flow - part 2: ASoC data structure
- android中的内外部存储
- 防止js注入
- opencv目标跟踪:二帧差法(批量读取视频帧)
- 47. Permutations II
- 查看UNIX/Linux资源占用的top命令