Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Deze functie geeft het aantal kwalificerende rijen terug dat momenteel in de laatst geopende cursor op de verbinding stond. Om de prestaties te verbeteren kan SQL Server grote toetsen en statische cursors asynchroon invullen.
@@CURSOR_ROWS kan worden aangeroepen om te bepalen dat het aantal rijen dat voor een cursor in aanmerking komt, op het moment van de @@CURSOR_ROWS oproep wordt opgehaald.
Transact-SQL syntaxis-conventies
Syntaxis
@@CURSOR_ROWS
Retourtypen
int
Retourwaarde
| Retourwaarde | Description |
|---|---|
-m |
De cursor vult zich asynchroon. De waarde die wordt teruggegeven (-m) is het aantal rijen dat momenteel in de sleutelset zit. |
-1 |
De cursor is dynamisch. Omdat dynamische cursors alle wijzigingen weerspiegelen, verandert het aantal rijen dat voor de cursor in aanmerking komt voortdurend. De cursor haalt niet per se alle gekwalificeerde rijen op. |
0 |
Er zijn geen cursors open, geen rijen gekwalificeerd voor de laatst geopende cursor, of de laatst geopende cursor is gesloten of verdeeld. |
n |
De cursor is volledig bevolkt. De teruggegeven waarde (n) is het totale aantal rijen in de cursor. |
Opmerkingen
@@CURSOR_ROWS geeft een negatief getal terug als de laatste cursor asynchroon geopend is. Keyset-driver of statische cursors openen asynchroon als de waarde voor sp_configure cursordrempel hoger is 0dan , en het aantal rijen in de cursorresultaatset de cursordrempel overschrijdt.
Voorbeelden
Dit voorbeeld declareert eerst een cursor en gebruikt SELECT het vervolgens om de waarde van weer @@CURSOR_ROWSte geven. De instelling heeft een waarde van 0 voordat de cursor opent en vervolgens een waarde van -1, om aan te geven dat de cursortoetsenset asynchroon wordt invuld.
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
Hier zijn de resultatensets.
-----------
0
LastName (No column name) ROWSTAT
--------- ----------------- ---------
Sánchez -1 NULL
-----------
-1