2014-11-01 67 views
-3

我創建的過程:執行過的SQL * Plus執行存儲過程通過SQL * Plus的

SQL>var cur refcursor; 
SQL>var a varchar2; 
SQL>var b varchar2; 
SQL>exec PROCEDURE1('Hi',:cur,:a,:b); 

程序會顯示錯誤

PROCEDURE PROCEDURE1(
      p_str IN varchar2, 
      cursor_fetch out REF_CURSOR, 
      p_str2 OUT VARCHAR2, 
      p_success OUT VARCHAR2 
      ) 
-- Proc Body -- 
End PROCEDURE1; 

現在:

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

如果你沒有任何異常塊,那麼這將揭示錯誤背後的原因,因爲行號是正確的:

ORA-06512: at "PROCEDURE1", line 58

因爲我們沒有你的代碼,我們不知道第58行發生了什麼。但是,您有錯誤堆棧要調試。