问一个过程中的一个返回值的作用!在线等
小弟对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就是异常了,由外部程序判断这个返回参数