Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Denna funktion returnerar antalet kvalificerande rader som för närvarande finns i den senaste markören som öppnades på anslutningen. För att förbättra prestandan kan SQL Server fylla stora tangentuppsättningar och statiska markörer asynkront.
@@CURSOR_ROWS kan anropas för att avgöra att antalet rader som kvalificerar för en markör hämtas vid anropstillfället @@CURSOR_ROWS .
Transact-SQL syntaxkonventioner
Syntax
@@CURSOR_ROWS
Returtyper
int
Returvärde
| Returvärde | Description |
|---|---|
-m |
Markören fylls asynkront. Värdet som returneras (-m) är antalet rader som för närvarande finns i nyckeluppsättningen. |
-1 |
Markören är dynamisk. Eftersom dynamiska markörer speglar alla förändringar ändras antalet rader som kvalificerar för markören ständigt. Markören hämtar inte nödvändigtvis alla kvalificerade rader. |
0 |
Inga markörer är öppna, inga rader kvalificerade för den senast öppnade markören, eller så är den senast öppnade markören stängd eller utplacerad. |
n |
Markören är fullt fylld. Värdet som returneras (n) är det totala antalet rader i markören. |
Anmärkningar
@@CURSOR_ROWS returnerar ett negativt tal om den sista markören öppnades asynkront. Tangentuppsättningsdrivrutiner eller statiska markörer öppnas asynkront om värdet för sp_configure markörtröskeln överstiger 0, och antalet rader i kursorresultatuppsättningen överstiger markörtröskeln.
Examples
Detta exempel deklarerar först en markör och använder SELECT sedan för att visa värdet av @@CURSOR_ROWS. Inställningen har värdet på 0 innan markören öppnas och sedan värdet , -1för att indikera att markörtangenten fylls asynkront.
USE AdventureWorks2022;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR
FOR SELECT LastName, @@CURSOR_ROWS
FROM Person.Person;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Här är resultatuppsättningarna.
-----------
0
LastName (No column name) ROWSTAT
--------- ----------------- ---------
Sánchez -1 NULL
-----------
-1