ASA Programming Guide
Using SQL in Applications
Adaptive Server Anywhere cursors
These cursors have insensitive membership, order, and values. No changes made after cursor open time are visible.
Insensitive cursors are used only for read-only cursor types.
Insensitive cursors correspond to the ISO/ANSI standard definition of insensitive cursors, and to ODBC static cursors.
Interface | Cursor type | Comment |
---|---|---|
ODBC, OLE DB, and ADO | Static | If an updatable static cursor is requested, a value-sensitive cursor is used instead. |
Embedded SQL | INSENSITIVE or NO SCROLL | |
JDBC | Unsupported | |
Open Client | Unsupported |
Insensitive cursors always return rows that match the query's selection criteria, in the order specified by any ORDER BY clause.
The result set of an insensitive cursor is fully materialized as a work table when the cursor is opened. This has the following consequences:
If the result set is very large, the disk space and memory requirements for managing the result set may be significant.
No row is returned to the application before the entire result set is assembled as a work table. For complex queries, this may lead to a delay before the first row is returned to the application.
Subsequent rows can be fetched directly from the work table, and so are returned quickly. The client library may prefetch several rows at a time, further improving performance.
Insensitive cursors are not affected by ROLLBACK or ROLLBACK TO SAVEPOINT.