Oracle JDBC drivers support cursor variables with the REF
CURSOR
types, which are not a part of the JDBC standard. REF
CURSOR
types are supported as JDBC result sets.
A cursor variable holds the memory location of a query work area, rather than the contents of the area. Declaring a cursor variable creates a pointer. In SQL, a pointer has the data type REF
x
, where REF
is short for REFERENCE
and x
represents the entity being referenced. A REF CURSOR
, then, identifies a reference to a cursor variable. Many cursor variables may exist to point to many work areas, so REF
CURSOR
can be thought of as a category or data type specifier that identifies many different types of cursor variables. A REF CURSOR
essentially encapsulates the results of a query.
Oracle does not return ResultSets. To access data returned by a query, you use CURSORS
and REF CURSORS
. CURSORS
contain query results and metadata. A REF CURSOR
(or CURSOR
variable) data type contains a reference to a cursor. It can be passed between the RDBMS and the client, or between PL/SQL and Java in the database. It can also be returned from a query or a stored procedure.
Starting from this release, Oracle Database supports results of SQL statements executed in a stored procedure to be returned implicitly to the client.
Note:
REF CURSOR
instances are not scrollable.
This section contains the following subsections:
Related Topics