@@CURSOR_ROWS (T-SQL)

Returns the number of qualifying rows that are currently in the last cursor opened on the connection. To improve performance, Microsoft® SQL Server™ can populate large keyset and static cursors asynchronously. @@CURSOR_ROWS can be called to determine the number of the rows that qualify for a cursor have been retrieved at the time @@CURSOR_ROWS is called.

Return value Description
-m The cursor is being populated asynchronously. The value returned (-m) is the number of rows currently in the keyset.
-1 The cursor is dynamic. Because dynamic cursors reflect all changes, the number of rows that qualify for the cursor is constantly changing. It can never be definitely stated that all qualified rows have been retrieved.
0 No cursors have been opened, no rows qualified for the last opened cursor, or the last-opened cursor is closed or deallocated.
n The cursor is fully populated. The value returned (n) is the total number of rows in the cursor.

Syntax

@@CURSOR_ROWS

Return Types

integer

Remarks

The number returned by @@CURSOR_ROWS is negative if the last cursor was opened asynchronously. Keyset-driver or static cursors are opened asynchronously if the value for sp_configure cursor threshold is greater than 0, and the number of rows in the cursor result set is greater than the cursor threshold.

Examples

This example declares a cursor and uses SELECT to display the value of @@CURSOR_ROWS. The setting has a value of 0 before the cursor is opened, and a value of -1 to indicate that the cursor’s keyset is being populated asynchronously.

SELECT @@CURSOR_ROWS

DECLARE authors_cursor CURSOR FOR

SELECT au_lname FROM authors

OPEN authors_cursor

FETCH NEXT FROM authors_cursor

SELECT @@CURSOR_ROWS

CLOSE authors_cursor

DEALLOCATE authors_cursor

  

-----------

0          

  

(1 row(s) affected)

  

au_lname                                

----------------------------------------

White                                   

  

(1 row(s) affected)

  

            

-----------

-1         

  

(1 row(s) affected)

See Also
Asynchronous Population Cursor Functions
OPEN  

  


(c) 1988-98 Microsoft Corporation. All Rights Reserved.