现在有个procedure
里面有个insert操作 能正常完成 然后commit
但是DEBUG的时候 发现commit完后 又走进了    commit;
EXCEPTION
    WHEN OTHERS THEN
        XXXXXXXXXXXXXXXXXXXXXXXX;查看数据正常插入 但是不知道为什么跑到异常里面了
请高手指教

解决方案 »

  1.   

    确定吗 过程里 不是不用写return吗
      

  2.   

    把代码贴出来
    EXCEPTION 
        WHEN OTHERS THEN 
            XXXXXXXXXXXXXXXXXXXXXXXX
    这段改成
    EXCEPTION 
        WHEN OTHERS THEN 
            raise;
    看看抛出的是什么错误号,然后贴上来
      

  3.   

    你把commit写在异常后面么确认没有异常在commit
      

  4.   


    -- 更新処理
    COMMIT;EXCEPTION
       WHEN OTHERS THEN
    -- ERROR
    PC_ERRLOG.PR_PUT(W_ERRLOG, I_USERID, 'SK001');
    END SK001;
      

  5.   

    更新前就是个insert操作 断点正常跑到commit里面异常处理就是个出力操作LOG的东西
      

  6.   

    PC_ERRLOG.PR_PUT(W_ERRLOG, I_USERID, 'SK001'); 
    里面就有raise处理 所以跟这个没关系 
    而且没有错误号
      

  7.   

    把異常信息貼出來
    ora-xxxxx?
      

  8.   

    我怀疑你insert 结束后逗点啥的漏掉了
    好好检查你的insert语句单独提取出来试试看是不是正确的,另外你commit去掉看看它怎么走
      

  9.   

    你改成
    EXCEPTION 
       WHEN OTHERS THEN 
    -- ERROR 
    raise;
    END SK001;
    看看抛出什么ora的错误,大家好帮你分析