Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Egy adott paraméter esetében azt jelzi, CURSOR_STATUS hogy egy kurzordeklaráció visszaadott-e kurzort és eredményhalmazt.
Transact-SQL szintaxis konvenciók
Szemantika
CURSOR_STATUS
(
{ 'local' , 'cursor_name' }
| { 'global' , 'cursor_name' }
| { 'variable' , 'cursor_variable' }
)
Érvek
"helyi"
Egy állandót ad meg, amely azt jelzi, hogy a kurzor forrása helyi kurzor.
"cursor_name"
A kurzor neve. A kurzor nevének meg kell felelnie az adatbázis-azonosító szabályainak.
"globális"
Egy állandót ad meg, amely azt jelzi, hogy a kurzor forrása globális kurzor.
"változó"
Egy állandót ad meg, amely azt jelzi, hogy a kurzor forrása egy helyi változó.
"cursor_variable"
A kurzorváltozó neve. A kurzorváltozót a kurzor adattípusával kell definiálni.
Visszatérési típusok
kisméretű
| Visszaadott érték | Kurzor neve | Kurzorváltozó |
|---|---|---|
1 |
A kurzor eredményhalmazának legalább egy sora van. Az érzéketlen és a billentyűkészlet-kurzorok esetében az eredményhalmaznak legalább egy sora van. Dinamikus kurzorok esetén az eredményhalmaz nulla, egy vagy több sort tartalmazhat. |
A változóhoz lefoglalt kurzor nyitva van. Az érzéketlen és a billentyűkészlet-kurzorok esetében az eredményhalmaznak legalább egy sora van. Dinamikus kurzorok esetén az eredményhalmaz nulla, egy vagy több sort tartalmazhat. |
0 |
A kurzor eredményhalmaza üres. 1 | A változóhoz lefoglalt kurzor nyitva van, de az eredményhalmaz határozottan üres.* |
-1 |
A kurzor bezárult. | A változóhoz lefoglalt kurzor bezárul. |
-2 |
Nem alkalmazható. | Az alábbi lehetőségek egyikével rendelkezik: A korábban hívott eljárás nem rendelt hozzá kurzort ehhez a OUTPUT változóhoz.A korábban hozzárendelt eljárás kurzort rendelt ehhez a OUTPUT változóhoz, de a kurzor zárt állapotban volt, amikor az eljárás befejeződött. Ezért a kurzor felszabadítva van, és nem tér vissza a hívási eljáráshoz.A deklarált kurzorváltozóhoz nincs hozzárendelve kurzor. |
-3 |
A megadott névvel rendelkező kurzor nem létezik. | A megadott névvel rendelkező kurzorváltozó nem létezik, vagy ha van ilyen, még nincs hozzá hozzárendelve kurzor. |
1 A dinamikus kurzorok soha nem adják vissza ezt az eredményt.
Példák
Ez a példa a függvényt használja a CURSOR_STATUS kurzor állapotának megjelenítésére a deklaráció után, a megnyitás után és a bezárása után.
CREATE TABLE #TMP (ii INT);
GO
INSERT INTO #TMP (ii) VALUES (1);
INSERT INTO #TMP (ii) VALUES (2);
INSERT INTO #TMP (ii) VALUES (3);
GO
-- Create a cursor
DECLARE cur CURSOR
FOR SELECT * FROM #TMP;
-- Display the status of the cursor before and after opening
-- and closing the cursor
SELECT CURSOR_STATUS('global', 'cur') AS 'After declare';
OPEN cur;
SELECT CURSOR_STATUS('global', 'cur') AS 'After Open';
CLOSE cur;
SELECT CURSOR_STATUS('global', 'cur') AS 'After Close';
-- Remove the cursor.
DEALLOCATE cur;
-- Drop the table.
DROP TABLE #TMP;
Itt van az eredmények összessége.
After declare
---------------
-1
After Open
----------
1
After Close
-----------
-1