カーソル変数は、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
の強い型と弱い型の詳細は、「カーソル変数の作成」を参照してください。