Cursors extend result processing by: Cursor Implementations SQL Server supports three cursor implementations.Transact-SQL cursors Are based on the DECLARE CURSOR syntax and are used mainly in Transact-SQL scripts, stored procedures, and triggers.Keyset The membership and order of rows in a keyset-driven cursor are fixed when the cursor is opened.Keyset-driven cursors are controlled by a set of unique identifiers, keys, known as the keyset.Transact-SQL uses the term insensitive for static cursors.Some database APIs identify them as snapshot cursors.The database API cursor models assume that static, keyset-driven, and dynamic cursors are always scrollable.When a database API cursor attribute or property is set to forward-only, SQL Server implements this as a forward-only dynamic cursor.
They may also be contained in batches, stored procedures, or triggers.
Client cursors are implemented by caching all the result set rows on the client.
Each time a client application calls an API cursor function, the SQL Server Native Client ODBC driver or the ADO DLL performs the cursor operation on the result set rows cached on the client.
This complete set of rows returned by the statement is known as the result set.
Applications, especially interactive online applications, cannot always work effectively with the entire result set as a unit.
The effects of all INSERT, UPDATE, and DELETE statements made by the current user or committed by other users that affect rows in the result set are visible as the rows are fetched from the cursor.