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. |
|---|---|
| Category: | Data Set Control |
| Alias: | CURSOR= [Impala, SAP IQ] |
| Default: | DBMS- and operation-specific |
| Data source: | Amazon Redshift, DB2 under UNIX and PC Hosts, Greenplum, HAWQ, Impala, Microsoft SQL Server, ODBC, OLE DB, PostgreSQL, SAP IQ |
| See: | COMMAND_TIMEOUT= LIBNAME option, CURSOR_TYPE= data set option, KEYSET_SIZE= data set option [only Microsoft SQL Server and ODBC] |
Table of Contents
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.
specifies that the cursor functions like a DYNAMIC cursor except that it supports only sequential fetching of rows.
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.
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.
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 specified yet, here are the initial DBMS-specific defaults:
|
DB2 under UNIX and PC Hosts |
Greenplum HAWQ Impala OLE DB |
Amazon Redshift Microsoft SQL Server PostgreSQL SAP IQ |
|---|---|---|
|
none |
FORWARD_ONLY |
DYNAMIC |
Here are the operation-specific defaults:
|
Operation |
DB2 under UNIX and PC Hosts |
Impala, ODBC, SAP IQ |
Microsoft SQL Server |
OLE DB |
Greenplum, HAWQ |
|---|---|---|---|---|---|
|
insert (UPDATE_SQL=NO) |
KEYSET_DRIVEN |
KEYSET_DRIVEN |
DYNAMIC |
FORWARD_ONLY |
FORWARD_ONLY |
|
read (such as PROC PRINT) |
driver default |
driver default (FORWARD_ONLY) |
FORWARD_ONLY |
||
|
update (UPDATE_SQL=NO) |
KEYSET_DRIVEN |
KEYSET_DRIVEN |
DYNAMIC |
FORWARD_ONLY |
FORWARD_ONLY |
|
CONNECTION=GLOBAL CONNECTION=SHARED |
none |
none |
DYNAMIC |
DYNAMIC |
FORWARD_ONLY |
OLE DB: Here are the OLE DB properties that are applied to an open rowset. For more information, 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 |