Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Questa funzione restituisce il numero di righe idonee attualmente nell'ultimo cursore aperto sulla connessione. Per migliorare le prestazioni, SQL Server può popolare i cursori statistici e i set di chiavi di grandi dimensioni in modo asincrono.
@@CURSOR_ROWS può essere chiamato per determinare che il numero di righe qualificate per un cursore viene recuperato al momento della @@CURSOR_ROWS chiamata.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
@@CURSOR_ROWS
Tipi restituiti
int
Valore restituito
| Valore restituito | Descrizione |
|---|---|
-m |
Il cursore viene popolato in modo asincrono. Il valore restituito (-m) corrisponde al numero di righe risultanti per il set di chiavi. |
-1 |
Il cursore è dinamico. Poiché nei cursori dinamici vengono riportate tutte le modifiche, il numero delle righe risultanti per il cursore cambia in modo costante. Il cursore non recupera necessariamente tutte le righe qualificate. |
0 |
Nessun cursore aperto, nessuna riga qualificata per l'ultimo cursore aperto o l'ultimo cursore aperto viene chiuso o deallocato. |
n |
Il cursore è completamente popolato. Il valore restituito (n) corrisponde al numero totale di righe nel cursore. |
Osservazioni:
@@CURSOR_ROWS restituisce un numero negativo se l'ultimo cursore è stato aperto in modalità asincrona. I cursori keyset-driver o statici vengono aperti in modo asincrono se il valore per sp_configure la soglia del cursore supera 0e il numero di righe nel set di risultati del cursore supera la soglia del cursore.
Esempi
Questo esempio prima dichiara un cursore e quindi usa l'istruzione SELECT per visualizzare il valore della funzione @@CURSOR_ROWS. Prima dell'apertura del cursore, il valore della funzione è 0. Il valore diventa quindi -1, a indicare che il set di chiavi del cursore viene popolato in modo asincrono.
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
Set di risultati.
-----------
0
LastName (No column name) ROWSTAT
--------- ----------------- ---------
Sánchez -1 NULL
-----------
-1