执行触发器失败 :-6519:ORA-06519: 检测到活动的自治事务处理, 已经回退
来源:互联网 发布:c语言实验正弦信号 编辑:程序博客网 时间:2024/05/16 10:18
create or replace trigger tig_tt
after update on tt
for each row
declare
rstr varchar2(1024);
PRAGMA AUTONOMOUS_TRANSACTION;
begin
INSERT INTO TT
(ID, text)
values
(100, 'def_失败:' || tO_CHAR(sysdate, 'yyyy-mm-dd hh24:mi:ss'));
exception
when others then
rstr := '执行触发器失败 :' || sqlcode || ':' || sqlerrm;
dbms_output.put_line(rstr);
insert into tt (id, text) values (200, rstr);
end tig_tt;
SQL> update tt set id=3;
执行触发器失败 :-6519:ORA-06519: 检测到活动的自治事务处理, 已经回退
update tt set id=3
ORA-04091: 表 LANDUSER.TT 发生了变化, 触发器/函数不能读它
ORA-06512: 在 "LANDUSER.TIG_TT", line 14
ORA-06519: 检测到活动的自治事务处理, 已经回退
ORA-04088: 触发器 'LANDUSER.TIG_TT' 执行过程中出错
问题:自治事务处理没有提交commit
修改如下:
create or replace trigger tig_tt
after update on tt
for each row
declare
rstr varchar2(1024);
PRAGMA AUTONOMOUS_TRANSACTION;
begin
INSERT INTO TT
(ID, text)
values
(100, 'def_失败:' || tO_CHAR(sysdate, 'yyyy-mm-dd hh24:mi:ss'));
commit;
exception
when others then
rstr := '执行触发器失败 :' || sqlcode || ':' || sqlerrm;
dbms_output.put_line(rstr);
insert into tt (id, text) values (200, rstr);
commit;
end tig_tt;
就没有错误了
- 执行触发器失败 :-6519:ORA-06519: 检测到活动的自治事务处理, 已经回退
- ORA-06519: 检测到活动的自治事务处理,已经回退
- 解决触发器检测到活动的独立的事务处理, 已经回退、表发生了变化, 触发器/函数不能读它
- 通过在触发器中建立自治事务解决ORA-04091(不能读取被触发的表)
- 关于自治事务解决触发器导致"ORA-04091:触发器/函数不能读它"不可行的验证
- ORA-02046: 分布式事务处理已经开始解决方案
- ORA-02046: 分布式事务处理已经开始解决方案
- GIT_已经提交到远程仓库的错误提交怎么修复和回退
- git已经push代码到gitlab如何回退
- 闪回事务处理回退
- 闪回事务处理回退
- ORA-02046: ORA-02046:分布式事务处理已经开始
- 解决ORA-14450:试图访问已经在使用的事务处理临时表
- ORA-14450: 试图访问已经在使用的事务处理临时表
- Oracle 11g ORA-14450: 试图访问已经在使用的事务处理临时表
- 自治事务触发器问题解答
- 触发器(自治事务)
- 利用自治事务技术写一个用于审计的触发器
- Java缓存技术介绍(JCS开源项目)-----索引磁盘备用缓存
- 500强公司面试的经典正确与错误回答对比!!! 看看你的弱点
- Delphi 让程序只运行一次
- [VIM技巧]global命令详解
- HQL的使用-part2 hql的查询(4)
- 执行触发器失败 :-6519:ORA-06519: 检测到活动的自治事务处理, 已经回退
- 如何反注册DLL文件
- asp采集器技术分析与源代码
- 关于指针的判空问题
- Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted
- cvs
- 以色列科技进步的启示:公民智慧成最大的资源
- 我在08年的最后一天,,,
- 网站开发规范