Megosztás a következőn keresztül:


@@CURSOR_ROWS (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Ez a függvény adja vissza a jelenleg az utolsó, megnyitott kurzorban lévő kvalifikációs sorok számát. A teljesítmény javítása érdekében az SQL Server aszinkron módon képes nagy kulcskészleteket és statikus kurzorokat feltölteni. @@CURSOR_ROWS Meghívhatjuk, hogy megállapítsuk, hány sor, amely jogosult kurzorra jogosult, a hívás idején @@CURSOR_ROWS visszanyerhető.

Transact-SQL szintaxis konvenciók

Szemantika

@@CURSOR_ROWS

Visszatérési típusok

int

Visszaadott érték

Visszaadott érték Description
-m A kurzor aszinkron módon jelenik meg. A visszaadott érték (-m) a kulcshalmazban jelenleg szereplő sorok száma.
-1 A kurzor dinamikus. Mivel a dinamikus kurzorok minden változást tükröznek, a kurzorra jogosult sorok száma folyamatosan változik. A kurzor nem feltétlenül nyeri vissza az összes minősített sort.
0 Nincs nyitva kurzor, nincs olyan sor, amely jogosult lenne az utolsó megnyitott kurzorra, vagy az utolsó kurzor zárva vagy dealallocation.
n A kurzor teljesen tele van. A visszaadott (n) érték a kurzor összes sorszáma.

Megjegyzések

@@CURSOR_ROWS negatív számot ad vissza, ha az utolsó kurzor aszinkron módon nyílik meg. Kulcs-driver vagy statikus kurzorok aszinkron módon nyílnak meg, ha a sp_configure kurzorküszöb értéke meghaladja 0, és a kurzor eredményhalmazában lévő sorok száma meghaladja a kurzorküszöböt.

Példák

Ez a példa először kurzort hirdet, majd SELECT megjeleníti az értékét @@CURSOR_ROWS. A beállítás értéke 0 a kurzor megnyitása előtt, majd az értéke -1, ami jelzi, hogy a kurzor kulcskészlet aszinkron módon töltődik fel.

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

Íme az eredménykészletek.

-----------
0

LastName   (No column name)   ROWSTAT
---------  -----------------  ---------
Sánchez    -1                 NULL

-----------
-1