07/11/19 23:26:26 e/HNJ/vE
Oracleのパッケージで、SYS_REFCURSORを複数のプロシージャで使いまわすってできますか?
create or replace package aaa is
procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor);
procedure Test1( cur1 out sys_refcursor);
procedure Test2( cur2 out sys_refcursor);
procedure Test3( cur2 out sys_refcursor);
end;
こんな感じでパッケージがあって、testA がアプリ側からCallされます。
Test1~Test3はそれぞれ別のテーブルからデータを取得します。
まずtestA でTest1をCallし、その戻り値を判定し、以降の処理を行う。。。って感じなのですが、
create or replace package body aaa is
procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor)
is
begin
Test1( cur1 out sys_refcursor) ;
end ;
ここで、cur1 の中身を見たいんです。
FETCHとかすればいいのかなと思っても、エラーになります。
なんかいい方法ありませんか?
なんでこんな作りなのかとか言われても答えられません。
そういうポリシーらしいです。