CURSOR_TYPE= LIBNAME Option

Specifies the cursor type for read-only and updatable cursors.
Valid in: SAS/ACCESS LIBNAME statement and some DBMS-specific connection options. See the DBMS-specific reference section for details.
Default: DBMS- and operation-specific
Data source: DB2 under UNIX and PC Hosts, Microsoft SQL Server, ODBC, OLE DB, Sybase IQ
See: CURSOR_TYPE= data set option

Syntax

CURSOR_TYPE=DYNAMIC | FORWARD_ONLY | KEYSET_DRIVEN | STATIC

Syntax Description

DYNAMIC
specifies that the cursor reflects all changes that are made to the rows in a result set as you move the cursor. The data values and the membership of rows in the cursor can change dynamically on each fetch. This is the default for the DB2 under UNIX and PC Hosts, Microsoft SQL Server, and ODBC interfaces.
FORWARD_ONLY [not valid for OLE DB]
specifies that the cursor functions like a DYNAMIC cursor except that it supports only sequential fetching of rows.
KEYSET_DRIVEN
specifies that the cursor determines which rows belong to the result set when the cursor is opened. However, changes that are made to these rows are reflected as you scroll around the cursor.
STATIC
specifies that the cursor builds the complete result set when the cursor is opened. No changes that are made to the rows in the result set after the cursor is opened are reflected in the cursor. Static cursors are read-only.

Details

Not all drivers support all cursor types. An error is returned if the specified cursor type is not supported. The driver is allowed to modify the default without an error. See your database documentation for more information.
When no options have been set yet, here are the initial DBMS-specific defaults.
DB2 under UNIX and PC Hosts
Microsoft SQL Server
ODBC
OLE DB
Sybase IQ
KEYSET_DRIVEN
DYNAMIC
FORWARD_ONLY
FORWARD_ONLY
DYNAMIC
Here are the operation-specific defaults.
Operation
DB2 under UNIX and PC Hosts
Microsoft SQL Server
ODBC
OLE DB
Sybase IQ
insert
(UPDATE_SQL=NO)
KEYSET_DRIVEN
DYNAMIC
KEYSET_DRIVEN
FORWARD_ONLY
KEYSET_DRIVEN
read
(such as PROC PRINT)
driver default
driver default
(FORWARD_ONLY)
FORWARD_ONLY
update
(UPDATE_SQL=NO)
KEYSET_DRIVEN
DYNAMIC
KEYSET_DRIVEN
FORWARD_ONLY
KEYSET_DRIVEN
CONNECTION=GLOBAL
CONNECTION=SHARED
DYNAMIC
DYNAMIC
FORWARD_ONLY
OLE DB: Here are the OLE DB properties that are applied to an open rowset. For details, see your OLE DB programmer reference documentation.
CURSOR_TYPE=
OLE DB Properties Applied
FORWARD_ONLY or DYNAMIC (see “Details”)
DBPROP_OTHERINSERT=TRUE, DBPROP_OTHERUPDATEDELETE=TRUE
KEYSET_DRIVEN
DBPROP_OTHERINSERT=FALSE, DBPROP_OTHERUPDATEDELET=TRUE
STATIC
DBPROP_OTHERINSERT=FALSE, DBPROP_OTHERUPDATEDELETE=FALSE