我创建了一个程序:
PROCEDURE PROCEDURE1(
p_str IN varchar2,
cursor_fetch out REF_CURSOR,
p_str2 OUT VARCHAR2,
p_success OUT VARCHAR2
)
-- Proc Body --
End PROCEDURE1;
现在通过SQL * Plus
执行该过程SQL>var cur refcursor;
SQL>var a varchar2;
SQL>var b varchar2;
SQL>exec PROCEDURE1('Hi',:cur,:a,:b);
它显示错误:
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "PROCEDURE1", line 58
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 1
任何人都可以建议我做错了吗?
答案 0 :(得分:0)
如果你没有任何异常阻止,那么这将揭示错误背后的原因,因为行号是正确的:
ORA-06512: at "PROCEDURE1", line 58
由于我们没有您的代码,我们不知道第58行发生了什么。但是,您需要调试错误堆栈。