REF CURSOR は、クエリを実行して生成されたサーバー側の結果セットへのポインターを表す PL/SQL データ型です。 REF CURSOR 型は、データの入出力ストリーミングを可能にし、PL/SQL コードとの間で大量のデータを転送するのに最適です。 Oracle Database アダプターは、厳密に型指定され、弱く型指定された (SYS_REFCURSOR) REF CURSOR をサポートします。これは、PL/SQL プロシージャおよび関数に IN、OUT、または IN OUT パラメーターとして渡すことができます。
REF CURSOR 内。 アダプター クライアントは、Oracle データベースで REF CURSOR を開く PL/SQL コード (文字列) を指定して、IN REF CURSOR を使用する必要があります。 アダプターは変数を作成し、開いた REF CURSOR を設定し、その変数を使用して関数またはプロシージャを呼び出します。 したがって、PL/SQL ストアド プロシージャおよび関数の IN REF CURSOR パラメーターは、入力値として PL/SQL コード ブロックを受け取る文字列として表され、OUT REF CURSOR 変数に "?"" が付きます。
OUT REF CURSOR。 OUT REF CURSOR パラメーターは、厳密に型指定された結果セットまたは弱く型指定された結果セットとして返されます。 返される結果セットの型は、ORACLE サーバー上のストアド プロシージャまたは関数定義で、REF CURSOR パラメーターが厳密に型指定された REF CURSOR または弱い型指定の REF CURSOR として宣言されているかどうかによって異なります。
IN OUT REF CURSOR パラメーター。 Oracle Database アダプターは IN REF CURSOR パラメーターを文字列としてモデル化し、OUT REF CURSOR パラメーターを複合型としてモデル化するため、IN OUT REF CURSOR パラメーターに対して 1 つの型をサポートすることはできません。 このため、IN OUT REF CURSOR パラメーターは、要求メッセージの IN パラメーターと応答メッセージの OUT パラメーターの 2 つの異なるパラメーターとして扱われます。
詳細情報は、次のとおりです。
BizTalk Serverを使用した REF CURSOR パラメーターを含む関数またはプロシージャの呼び出しについては、「BizTalk Serverを使用して Oracle Database で REF CURSORS を使用して関数とプロシージャを呼び出す」を参照してください。
WCF サービス モデルを使用した REF CURSOR パラメーターを含む関数またはプロシージャの呼び出しについては、「WCF サービス モデルを 使用した Oracle Database での REF CURSORS を使用した操作の実行」を参照してください。
Oracle データベース アダプターでサポートされている REF CURSORS の XML 構造については、「 REF CURSORS のメッセージ スキーマ」を参照してください。