@@CURSOR_ROWS (Transact-SQL)
Возвращает число выбранных строк, имеющихся в последнем открытом курсоре в данном подключении. Для улучшения производительности Microsoft SQL Server может наполнять большой набор ключей и статических курсоров асинхронно. Функция @@CURSOR_ROWS может быть вызвана для определения того, что количество строк, определенных для курсора, получено во время вызова @@CURSOR_ROWS.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
@@CURSOR_ROWS
Типы возвращаемых данных
integer
Возвращаемое значение
Возвращаемое значение | Описание |
---|---|
-m |
Курсор заполнен асинхронно. Возвращаемое значение (-m) является количеством строк, находящимся в наборе ключей. |
-1 |
Курсор является динамическим. Так как динамический курсор отражает все изменения, количество строк для курсора постоянно изменяется. Никогда не может быть точно определено, что все отмеченные строки были получены. |
0 |
Ни один курсор не был открыт, не было строк для последнего открытого курсора или последний открытый курсор закрыт или освобожден. |
n |
Курсор полностью заполнен. Возвращенное значение (n) является общим количеством строк в курсоре. |
Замечания
Число, возвращенное @@CURSOR_ROWS, является отрицательным, если последний курсор открыт асинхронно. Управляемые набором ключей или статические курсоры открываются асинхронно, если значение параметра cursor threshold процедуры sp_configure больше 0, а количество строк в результирующем наборе курсора больше, чем пороговое значение курсора.
Примеры
Этот пример определяет курсор и использует SELECT для вывода на экран значения @@CURSOR_ROWS. Эта настройка имеет значение 0 перед открытием курсора; значение -1 указывает, что набор ключей курсора заполняется асинхронно.
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
Ниже приводятся результирующие наборы:
-----------
0
LastName
---------------
Achong
-----------
-1
См. также
Справочник
Функции работы с курсорами (Transact-SQL)
OPEN (Transact-SQL)