sp_cursor_list (Transact-SQL)
Применимо к:SQL Server
Представляет атрибуты серверных курсоров, открытых на данный момент для соединения.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_cursor_list [ @cursor_return = ] cursor_variable_name OUTPUT
, [ @cursor_scope = ] cursor_scope
[;]
Аргументы
[ ] @cursor_return=cursor_variable_nameВЫХОДНЫЕ ДАННЫЕ
Имя объявленной переменной курсора. cursor_variable_name является курсором без значения по умолчанию. Этот аргумент является динамическим, прокручиваемым и предназначенным только для чтения.
[ ] @cursor_scope=cursor_scope
Определяет, какие уровни курсоров включаются в отчет. cursor_scope является int, без значения по умолчанию и может быть одним из этих значений.
значение | Description |
---|---|
1 | Представить все локальные курсоры. |
2 | Представить все глобальные курсоры. |
3 | Представить как локальные, так и глобальные курсоры. |
Значения кода возврата
None
Возвращенные курсоры
sp_cursor_list возвращает отчет как выходной параметр выходных данных курсора Transact-SQL, а не в результирующем наборе. Это позволяет пакетам Transact-SQL, хранимым процедурам и триггерам работать с выходными данными по одной строке одновременно. Это также означает, что процедуру нельзя вызвать напрямую из API-функций базы данных. Выходной параметр-курсор должен быть привязан к программной переменной, но API-интерфейсы баз данных не поддерживают привязку параметров-курсоров или переменных.
Формат курсора, возвращаемого хранимой процедурой sp_cursor_list. Формат курсора такой же, как и формат, возвращаемый хранимой процедурой sp_describe_cursor.
Замечания
Хранимая процедура sp_cursor_list представляет список текущих серверных курсоров, открытых соединением, и описывает атрибуты, являющиеся глобальными по отношению к каждому курсору, такие как возможность прокрутки и обновления курсора. Курсоры, представленные в хранимой процедуре sp_cursor_list, включают:
Курсоры Transact-SQL Server.
Курсоры сервера API, открытые приложением ODBC, которое затем называется SQLSetCursorName для имени курсора.
Используйте процедуру sp_describe_cursor_columns для описания атрибутов результирующего набора, возвращаемого курсором. Процедура sp_describe_cursor_tables используется для получения отчета по базовым таблицам, на которые ссылается курсор. sp_describe_cursor сообщает те же сведения, что и sp_cursor_list, но только для указанного курсора.
Разрешения
Разрешения на выполнение по умолчанию принадлежит роли public.
Примеры
В следующем примере открывается глобальный курсор и используется процедура sp_cursor_list
для получения отчета об атрибутах курсора.
USE AdventureWorks2022;
GO
-- Declare and open a keyset-driven cursor.
DECLARE abc CURSOR KEYSET FOR
SELECT LastName
FROM Person.Person
WHERE LastName LIKE 'S%';
OPEN abc;
-- Declare a cursor variable to hold the cursor output variable
-- from sp_cursor_list.
DECLARE @Report CURSOR;
-- Execute sp_cursor_list into the cursor variable.
EXEC master.dbo.sp_cursor_list @cursor_return = @Report OUTPUT,
@cursor_scope = 2;
-- Fetch all the rows from the sp_cursor_list output cursor.
FETCH NEXT from @Report;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
FETCH NEXT from @Report;
END
-- Close and deallocate the cursor from sp_cursor_list.
CLOSE @Report;
DEALLOCATE @Report;
GO
-- Close and deallocate the original cursor.
CLOSE abc;
DEALLOCATE abc;
GO
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по