關於Oracle游標out參數多層調用的BUG,ORA-06504


數據庫版本

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit

測試代碼

declare

p_cur sys_refcursor;

v_ename varchar2(50);

procedure pro_1(p_cur out sys_refcursor) as

begin

--子程序1

open p_cur for

select ename from scott.emp;

end;

 

procedure pro_2(p_cur out sys_refcursor) as

begin

--子程序2

pro_1(p_cur);

end;

 

begin

--主程序

pro_2(p_cur);

fetch p_cur

into v_ename;

end;

運行報錯:

ORA-06504: PL/SQL: 結果集變量或查詢的返回類型不匹配

經調試發現在主程序fetch時出錯。

同樣代碼在數據庫 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit 版本下正常執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM