Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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