Oracle 9i ストアド プロシージャから SYS_REFCURSOR 出力を取得する .NET アプリがあります。そのカーソルを別のストアド プロシージャに渡して、別のカーソルを取得したいと考えています。
ルーズな疑似コード:
CREATE OR REPLACE PROCEDURE get_Addresses(
userList IN SYS_REFCURSOR,
addressList OUT SYS_REFCURSOR)
IS
OPEN addressList FOR (
SELECT * FROM Addresses A
WHERE A.UserID in (SELECT UserID from userList)
このようにして、ユーザー情報のリスト (データセット) をストアド プロシージャに渡し、渡されたユーザー リストに一致するアドレスのリストを取得できます。
私はオラクルの開発者ではありませんが、.NET のデータセットをループして各行の Oracle 接続を開いたり閉じたりするのではなく、これを行う方法があることを望んでいました。