Oracle中加错误捕捉会出错的问题?
我在oracle的过程中加了错误却不能编译成功,如果去掉错误捕捉就可以编译成功。我的原程序是:
==================================================
Procedure SP_findObjID(resultset out RefCursor,Obj_ID in char,Obj_TabName in varchar2
,pObj_ID out varchar2,pObj_TabName out varchar2)
IS
v_sql_strp varchar2(1000);
Begin
-- insert into temptable pobjid and pobjtabname
v_sql_strp:='select pobjid,pobjtabname Into pObj_ID, pObj_TabName from '||obj_TabName||' where objid='||obj_ID;
Execute immediate v_sql_strp;
if (pObj_ID is null ) or (pObj_TabName is null) or (Pobj_TabName='') then
pObj_ID :=null;
pObj_TabName:=null;
Else
Open resultset for select pObj_ID as PObjID,pobj_TabName as pobjtabname From dual;
end if;
-----加了这两句会错误
EXCEPTION
WHEN OTHERS THEN
RETURN '发生错误: '||SQLCODE||'--'||SQLERRM;
------
End;
============================================
这是什么原因?是不是我少装了什么东西?
并且EXCEPTION这个关键字不会变成绿色。
|