One has to pay attention when using holdable cursors, however. Thus, once a transaction has been ended and committed, a subsequent transaction (running in a different application) could inherit existing holdable cursors.Therefore, an application developer has to be aware of that situation. The following information may vary depending on the specific database system.In computer science, a database cursor is a control structure that enables traversal over the records in a database.

Cursors enable manipulation of whole result sets at once.

In this scenario, a cursor enables the rows in a result set to be processed sequentially.

Thus, a positioned UPDATE or positioned DELETE statement will only succeed after a FETCH operation occurred first in the transaction.

Note that JDBC defines cursors as holdable per default.

when a COMMIT or ROLLBACK (or an implicit termination of the transaction) occurs.

That behavior can be changed if the cursor is declared using the WITH HOLD clause.In SQL procedures, a cursor makes it possible to define a result set (a set of data rows) and perform complex logic on a row by row basis.By using the same mechanics, a SQL procedure can also define a result set and return it directly to the caller of the SQL procedure or to a client application.Programmers may declare cursors as scrollable or not scrollable.The scrollability indicates the direction in which a cursor can move.A cursor can be SENSITIVE or INSENSITIVE to such data modifications.