CURSOR_ROWS @@ (Transact-SQL)
Zwraca liczbę kwalifikujących się obecnie wiersze w ostatnio otwarte połączenie kursor .Aby zwiększyć wydajność, SQL Server można wypełnić duży zestaw kluczy i statyczne kursory asynchronicznie.Aby określić liczbę wierszy, które kwalifikują się do kursor są pobierane w czas @@ CURSOR_ROWS nosi można wywołać @@ CURSOR_ROWS.
Składnia
@@CURSOR_ROWS
Zwracane typy
integer
Wartość zwracana
Zwracanie wartości |
Opis |
---|---|
-m |
kursor jest wypełniona asynchronicznie.Wartość zwracana (-m) jest liczbą wierszy w aktualnie zestawu kluczy. |
-1 |
Dynamiczne znajduje się kursor .Ponieważ dynamiczne kursory odzwierciedlić wszystkie zmiany, liczbę wierszy, które kwalifikują się do kursor jest często zmieniane.Nigdy nie należy ostatecznie zaznaczyć wszystkie wiersze kwalifikowaną zostały już pobrane. |
0 |
Kursory nie zostały otwarte, żadne wiersze kwalifikującego się do ostatnio otwieranych kursor, lub ostatnio otwieranych kursor jest zamknięte lub cofniętych przydziałów. |
n |
kursor zostanie całkowicie wypełniony.Wartość zwracana (n) jest całkowitą liczbą wierszy w kursor. |
Uwagi
Liczba zwracana przez @@ CURSOR_ROWS jest ujemna, jeśli ostatnia kursor zostało otwarte asynchronicznie.Sterownik zestawu kluczy lub Kursory statyczne są otwarte asynchronicznie Jeśli wartość dla sp_configure cursor threshold jest większa niż 0 i liczby wierszy w kursor zestaw wyników jest większa niż próg kursor .
Przykłady
W poniższym przykładzie deklaruje kursor i korzysta z SELECT do wyświetlania wartości @@CURSOR_ROWS.To ustawienie ma wartość 0 przed otwarciem kursor i wartość -1 oznacza kursor zestawu kluczy jest wypełniana asynchronicznie.
USE AdventureWorks2008R2;
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
Oto zestawów wyników.
-----------
0
LastName
---------------
Sanchez
-----------
-1
Zobacz także