当前位置: 代码迷 >> Oracle管理 >> ORACLE 存储过程 回滚操作,该如何处理
  详细解决方案

ORACLE 存储过程 回滚操作,该如何处理

热度:86   发布时间:2016-04-24 04:24:56.0
ORACLE 存储过程 回滚操作
各位大侠,ORACLE 存储过程 回滚操作 急 急 急 !
CREATE OR REPLACE PROCEDURE ADDINVN IS
BEGIN
  INSERT INTO bbb select * from aaa;
      execute immediate 'truncate table kkx_ld_temp';
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
    INSERT INTO SYS_PROC_JOB_LOG VALUES('PROC_DATA_INSERT','hello','失败','新增数据','hello','hello',sysdate,1);
    commit;
END ADDINVN;

往一表里插入数据,执行 execute immediate 'truncate table kkx_ld_temp'时捕捉到异常,然后rollback操作。没有回滚成功。
------解决方案--------------------
truncate 语句是自动提交的,回滚也没用
------解决方案--------------------
ddl语句本身就是隐式提交。
  相关解决方案