日期:2014-05-17  浏览次数:21185 次

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操作。没有回滚成功。
oracle 存储 exception rollback

------解决方案--------------------
truncate 语句是自动提交的,回滚也没用
------解决方案--------------------
ddl语句本身就是隐式提交。