Skip Headers
Oracle® Database PL/SQL Language Reference
11g Release 2 (11.2)

Part Number E10472-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

Cursor Variable

A cursor variable points to the unnamed work area in which the database stores processing information when it runs a multiple-row query. With this pointer to the work area, you can access its information, and process the rows of the query individually.

To create a cursor variable, define a REF CURSOR type, and then declare the cursor variable to be of that type. Declaring a cursor variable creates a pointer, not an item. A cursor variable holds the address of an item instead of the item itself (like a C or Pascal pointer).

Topics:

Syntax

ref_cursor_type_definition ::=

ref_cursor_type_definition
Description of the illustration ref_cursor_type_definition.gif

cursor_variable_declaration ::=

cursor_variable_declaration
Description of the illustration ref_cursor_var_decl.gif

Semantics

ref_cursor_type_definition

type_name

The name of the REF CURSOR type that you are defining.

RETURN

Specifies the data type of the value that the cursor variable returns.

Specify RETURN to define a strong REF CURSOR type. Omit RETURN to define a weak REF CURSOR type. For information about strong and weak REF CURSOR types, see "Cursor Variable Creation".

db_table_name

The name of a database table or view, which must be accessible when the declaration is elaborated.

cursor_name

The name of a previously declared explicit cursor.

cursor_variable_name

The name of a previously declared cursor variable.

record_name

The name of a user-defined record.

record_type_name

The name of a user-defined type that was defined with the data type specifier RECORD.

ref_cursor_type_name

The name of a user-defined type that was defined with the data type specifier REF CURSOR.

cursor_variable_declaration

cursor_variable_name

The name of the cursor variable that you are declaring.

type_name

The type of the cursor variable that you are declaring (the name of the REF CURSOR type that you defined previously).

Usage

A REF CURSOR type definition can appear either in the declarative part of a block, subprogram, package specification, or package body (in which case it is local to the block, subprogram, or package) or in the "CREATE TYPE Statement" (in which case it is a standalone stored type).

A cursor variable declaration can appear only in the declarative part of a block, subprogram, or package body (not in a package specification).

Cursor variables are subject to the restrictions in "Cursor Variable Restrictions".

Examples

Related Topics

In this chapter:

In other chapters: