Open Cursors and Transaction Processing
The only way you can have more than one cursor open at a time is using multi-query transactions (MQT). (Cursors opened for update must be opened in direct mode.) An MQT also allows your program to issue other queries while there are open cursors. No work is committed (written to the database) until the end transaction statement is executed. At this point, all queries since the last begin transaction statement are committed and any open cursors are closed.
The following list summarizes the interaction of EQUEL transaction statements and cursors:
begin transaction
Denotes the beginning of a transaction. More than one cursor can be open within a transaction.
end transaction
Commits all cursor updates specified within the transaction, and closes all open cursors
abort
Undoes all cursor updates within the transaction and closes open cursors
savepoint savepoint_name
Not allowed if cursors are open: cursors must be opened and closed between savepoints
abort to savepoint_name
Undoes all cursor updates performed after the specified savepoint. Closes open cursors.
Last modified date: 11/09/2022