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

问一个过程中的一个返回值的作用!在线等
小弟对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'之后系统打开就出现错误了! 问的有点杂乱无章,简单,希望大家不要见笑,小弟在此谢过!

------解决方案--------------------
运行过程,如果正常返回0,出现异常返回-1,这个应该是调用过程的程序确定的,你改了过程的返回值,而程序那部分没有做相应的改变,所以会出错,要把调用过程的程序部分也要做相应的修改才行
------解决方案--------------------
用处就是判断这个过程的执行结果,0是正常,-1就是异常了,由外部程序判断这个返回参数