@@ CURSOR_ROWS (języka Transact-SQL)
Zwraca wartość liczby kwalifikujących się obecnie wierszy w ostatniej kursor jest otwarty w danym połączeniu.To improve performance, Microsoft SQL Server can populate large keyset and static cursors asynchronously.Do określenia, że liczba wierszy, które kwalifikują się do kursor są pobierane w momencie, jest nazywany @@ CURSOR_ROWS może zostać wywołana CURSOR_ROWS @@.
@@CURSOR_ROWS
Zwracane typy
integer
Return Value
Zwracanie wartości |
Description |
---|---|
-m |
Kursor jest pusta asynchronicznie.Wartość zwracana (-m) jest to liczba wierszy znajdujących się aktualnie w zestawu kluczy. |
-1 |
Dynamiczne znajduje się kursor.Ponieważ dynamiczne kursory odzwierciedlić wszystkie zmiany, liczba wierszy, które kwalifikują się do kursor jest często zmieniane.To może nigdy nie pewno podawana pobrać wszystkie wiersze kwalifikowaną. |
0 |
Kursory nie zostały otwarte, nie wierszy współpraca z ostatnio otwieranych kursora, lub ostatnio otwieranych kursor jest zamknięte lub przydziałów. |
n |
Kursor zostanie całkowicie wypełniony.Wartość zwracana)n) jest całkowitą liczbą wierszy w kursor. |
Remarks
Liczba zwróconych przez @@ CURSOR_ROWS jest ujemna, jeśli kursor ostatni zostało otwarte asynchronicznie.Keyset-driver or static cursors are opened asynchronously if the value for sp_configure cursor threshold is greater than 0 and the number of rows in the cursor result set is greater than the cursor threshold.
Przykłady
W tym przykładzie deklaruje kursor i używa do wyświetlania wartości @@ CURSOR_ROWS SELECT.To ustawienie ma wartość 0, przed otwarciem kursora i wartość -1 oznacza, że zestaw kluczy kursor jest wypełniana asynchronicznie.
USE AdventureWorks;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Contact;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Zestawy wyników są następujące:
-----------
0
LastName
---------------
Achong
-----------
-1
See Also