A と B (Oracle 9) の 2 つのスキーマがあります。A には B への dblink があります。B には、A から呼び出すパッケージがあります。B パッケージのプロシージャは、さまざまなカウント結果を返すことができます。この理由から、コレクションを返す方が良い方法だと思います。
create type B.tr_rad as object (
name varchar2(64)
,code number
,vendor number
,val varchar2(255)
,num number
);
create type B.tt_rad as varray(256) of B.tr_rad;
しかし、dblink による SQL 型の使用がサポートされていないため、A スキームからは tt_rad 型を使用できません。DBMS_SQL はサポートされていないカーソルです。同じ OID を持つタイプを作成することはできません。
一時テーブルを使用すると思います。しかし、まずそれはあまり良くありません (リモート関数が値を返した後、呼び出し側はリモート テーブルからコレクションを選択する必要があります)。また、一時テーブルでの作業が遅くなる恐れがあります。
おそらく、代替相互作用を知っているのは誰ですか?