PRAGMA AUTONOMOUS_TRANSACTION
2016-02-18 11:23
330 查看
PRAGMA AUTONOMOUS_TRANSACTION
当前的存储过程作为已有事务的子事务运行,子事务的commit,rollback操作不影响父事务的状态
可以用于
(1)匿名块
(2)触发器
(3)存储过程
例子:
[c-sharp]
view plain
copy
procedure addRowAutonomous
(
pID in TLOG.id%type,
pLDate in TLOG.ldate%type,
pLHSECS in TLOG.lhsecs%type,
pLLEVEL in TLOG.llevel%type,
pLSECTION in TLOG.lsection%type,
pLUSER in TLOG.luser%type,
pLTEXTE in TLOG.ltexte%type
)
is
PRAGMA AUTONOMOUS_TRANSACTION;
begin
addRow
(
pID => pID,
pLDate => pLDate,
pLHSECS => pLHSECS,
pLLEVEL => pLLEVEL,
pLSECTION => pLSECTION,
pLUSER => pLUSER,
pLTEXTE => pLTEXTE
);
commit;
exception when others then
PLOG.ERROR;
rollback;
raise;
end;
自治事务可以用于在客户化程序中记录调试信息
[c-sharp]
view plain
copy
PROCEDURE insert_cux_debug_info(
........
) IS PRAGMA AUTONOMOUS_TRANSACTION;
........
BEGIN
INSERT INTO cux_debug_info VALUES ........;
COMMIT;
END;
说明:在由需要记录调试信息的地方调用 insert_cux_debug_info。可用来调试程序
当前的存储过程作为已有事务的子事务运行,子事务的commit,rollback操作不影响父事务的状态
可以用于
(1)匿名块
(2)触发器
(3)存储过程
例子:
[c-sharp]
view plain
copy
procedure addRowAutonomous
(
pID in TLOG.id%type,
pLDate in TLOG.ldate%type,
pLHSECS in TLOG.lhsecs%type,
pLLEVEL in TLOG.llevel%type,
pLSECTION in TLOG.lsection%type,
pLUSER in TLOG.luser%type,
pLTEXTE in TLOG.ltexte%type
)
is
PRAGMA AUTONOMOUS_TRANSACTION;
begin
addRow
(
pID => pID,
pLDate => pLDate,
pLHSECS => pLHSECS,
pLLEVEL => pLLEVEL,
pLSECTION => pLSECTION,
pLUSER => pLUSER,
pLTEXTE => pLTEXTE
);
commit;
exception when others then
PLOG.ERROR;
rollback;
raise;
end;
自治事务可以用于在客户化程序中记录调试信息
[c-sharp]
view plain
copy
PROCEDURE insert_cux_debug_info(
........
) IS PRAGMA AUTONOMOUS_TRANSACTION;
........
BEGIN
INSERT INTO cux_debug_info VALUES ........;
COMMIT;
END;
说明:在由需要记录调试信息的地方调用 insert_cux_debug_info。可用来调试程序
相关文章推荐
- SwipeRefreshLayout下拉刷新
- Linux 线程优先级
- 需求 - 18 - “点赞动画”
- linux下D盘(适用于U盘、硬盘等一切移动存储设备)策略(比格式化猛,因为是不可恢复!)
- linux下D盘(适用于U盘、硬盘等一切移动存储设备)策略(比格式化猛,因为是不可恢复!)
- listview scrollview 对scrollto 使用的困扰
- Brooks
- linux下D盘(适用于U盘、硬盘等一切移动存储设备)策略(比格式化猛,因为是不可恢复!)
- 表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题
- 把字符串data中的所有"t替换为"
- SQL时间戳日期时间转换
- Android开发艺术探索学习笔记(十一)
- Integer整型
- 【Xamarin挖墙脚系列:最重要的布局ListView】
- Java中有两种实现多线程的方式以及两种方式之间的区别
- spring-boot
- 2016年目标
- iOS通过 JSPatch实现 app的热更新
- 2015年清华大学高等数值分析(李津)第一次数值实验
- **关于常量折叠,虚函数表的个人实践及一些看法,若有错漏处欢迎各位指正**