小弟对Oracle数据库一知半解,现在在看别人写的一个系统代码,在数据库中看到这样一个过程的语句:PROCEDURE PROC_YWYINFO_ADD(V_YWY_ID  In Varchar2,
                             V_YWY     IN Varchar2,
                             V_YWYNGE  IN Number,
                             o_retCode OUT VARCHAR2) IS
  BEGIN
    o_retCode := '0';
   --返回初始值
  
    INSERT INTO YWYINFO
      (YWY_ID, YWY, YWYNGE)
    VALUES
      (V_YWY_ID, V_YWY, V_YWYNGE);
  
    RETURN;
    
  
    
  EXCEPTION
    WHEN OTHERS THEN
      ROLLBACK;
      o_retCode := '-1';  
     --操作异常   
      DBMS_OUTPUT.PUT_LINE(SQLERRM);
      RETURN;
      
  
  END PROC_YWYINFO_ADD;  红色部分在整段代码中的作用,虽然他注释了,但我不理解返回初始值 操作异常到底怎么回事,‘0’ ‘-1'是不是规定的那样写,刚才问一个同事能不能改成其他的数字他说可以,分别改了'2' '-3'之后系统打开就出现错误了! 问的有点杂乱无章,简单,希望大家不要见笑,小弟在此谢过!

解决方案 »

  1.   

    用啥调用的,是不是调用的地方没改
      

  2.   

    运行过程,如果正常返回0,出现异常返回-1,这个应该是调用过程的程序确定的,你改了过程的返回值,而程序那部分没有做相应的改变,所以会出错,要把调用过程的程序部分也要做相应的修改才行
      

  3.   

    用处就是判断这个过程的执行结果,0是正常,-1就是异常了,由外部程序判断这个返回参数
      

  4.   

    谢谢大家了,外部程序代码也要一阵好找!