カーソル変数は、1つの問合せに限定されない明示カーソルと似ています。
カーソル変数を作成するには、事前定義のSYS_REFCURSOR型の変数を宣言するか、REF CURSOR型を定義してからその型の変数を宣言します。
カーソル変数の制限
サーバー間リモート・プロシージャ・コール(RPC)でカーソル変数を使用するとエラーが発生します。ただし、リモート・データベースがプロシージャ・ゲートウェイを介してアクセスされるOracle以外のデータベースである場合は、サーバー間RPCでカーソル変数を使用できます。
サーバー間RPCではLOBパラメータを使用できません。
ここでのトピック
構文
ref_cursor_type_definition ::=

cursor_variable_declaration ::=

セマンティクス
ref_cursor_type_definition
type
定義するREF CURSOR型の名前。
RETURN
カーソル変数が戻す値のデータ型を指定します。
強いREF CURSOR型を定義する場合はRETURNを指定します。弱いREF CURSOR型を定義する場合はRETURNを省略します。REF CURSORの強い型と弱い型の詳細は、「カーソル変数の作成」を参照してください。
db_table_or_view
宣言が処理されるときにアクセスできる必要があるデータベースの表またはビューの名前。
カーソル
事前に宣言されている明示カーソルの名前。
cursor_variable
事前に宣言されているカーソル変数の名前。
record
ユーザー定義のレコードの名前。
record_type
データ型指定子RECORDを使用して定義されたユーザー定義型の名前。
ref_cursor_type
データ型指定子REF CURSORを使用して定義されたユーザー定義型の名前。
cursor_variable_declaration
cursor_variable
宣言するカーソル変数の名前。
type
宣言するカーソル変数の型(SYS_REFCURSOR、または事前に定義したREF CURSOR型の名前)。
SYS_REFCURSORは弱い型です。REF CURSORの強い型と弱い型の詳細は、「カーソル変数の作成」を参照してください。