sp_cursor_list (języka Transact-SQL)

Raporty atrybuty serwera kursory aktualnie otwartego połączenia.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_cursor_list [ @cursor_return = ] cursor_variable_name OUTPUT 
     , [ @cursor_scope = ] cursor_scope
[;]

Argumenty

  • [ @cursor_return= ] cursor_variable_nameOUTPUT
    Jest nazwą zmiennej zadeklarowanej kursor .cursor_variable_namejest cursor, z braku domyślne.kursor jest przewijana, dynamiczne, tylko do odczytu kursor.

  • [ @cursor_scope= ] cursor_scope
    Określa poziom kursory do raportu.cursor_scopejest int, z Brak domyślnej i może być jedną z tych wartości.

    Wartość

    Opis

    1

    Raport wszystkich lokalnych kursory.

    2

    Sprawozdanie wszystkie globalne kursory.

    3

    Sprawozdanie kursory lokalnych i globalnych.

Wartości kodów powrotnych

Brak

Kursory zwrócone

sp_cursor_listZwraca jego raport jako Transact-SQL kursor parametr, nie jako zestaw wynikówwyjścia.Dzięki temu Transact-SQL partii, procedur przechowywanych i wyzwalaczy do pracy z jednego wiersza danych wyjściowych w czas.Oznacza także, że nie można wywołać procedurę bezpośrednio z funkcji API bazy danych.Parametr wyjściowy kursor musi być powiązany z zmiennej program, ale API bazy danych nie obsługują parametry powiązanie kursor lub zmienne.

Jest to format kursor zwrócony przez sp_cursor_list.Format kursor jest taki sam, jak format zwracanych przez sp_describe_cursor.

Nazwa kolumny

Typ danych

Opis

reference_name

sysname

Nazwa używana do odwoływania się do kursor.Jeśli odwołanie do kursor za pomocą nazwy podane w instrukcjaDECLARE CURSOR, Nazwa odwołania jest taka sama jak nazwa kursor .Jeśli odwołanie do kursor za pośrednictwem zmiennej, nazwę odwołania jest nazwą zmiennej kursor .

cursor_name

sysname

Nazwa kursor z instrukcjaDECLARE CURSOR.W SQL Server, jeśli kursor został utworzony przez ustawienie zmiennej kursor kursor cursor_name zwraca nazwę zmiennej kursor .W poprzednich wydaniach tej kolumna wyjściowej zwraca nazwę wygenerowane przez system.

cursor_scope

smallint

1 = LOKALNY

2 = GLOBALNE

status

smallint

Te same wartości jako zgłoszonych przez system CURSOR_STATUS funkcja:

1 = kursor , do których odwołuje się przez kursor nazwy lub zmienna jest otwarty.Jeśli kursor znajduje się wielkość liter, statyczne lub zestawu kluczy, posiada co najmniej jeden wiersz.Jeśli kursor jest dynamiczny, zestaw wyników ma zero lub więcej wierszy.

0 = kursor , do których odwołuje się przez kursor nazwy lub zmienna jest otwarte, ale nie wiersze.Dynamiczne kursory nigdy nie zwraca tę wartość.

-1 = kursor , do których odwołuje się przez kursor nazwy lub zmienna jest zamknięty.

-2 = Dotyczy tylko do zmiennych kursor .Nie ma żadnych kursor przypisana do zmiennej.Ewentualnie parametr wyjściowy przypisana do zmiennej kursor , ale procedura składowana zamknięte kursor przed zwróceniem.

-3 = kursor lub kursor zmienna o określonej nazwie nie istnieje lub zmiennej kursor nie miał kursor przydzielonej jej.

model

smallint

1 = Insensitive (lub statyczne)

2 = Zestawu kluczy

3 = Dynamic

4 = Przewiń do przodu

concurrency

smallint

1 = Tylko do odczytu

2 = Blokada przewijania

3 = Optimistic

scrollable

smallint

0 = Tylko do przodu

1 = Przewijany

open_status

smallint

0 = Zamknięte

1 = Otwórz

cursor_rows

int

Liczba kwalifikujących się wierszy w zestaw wyników.Aby uzyskać więcej informacji, zobacz @@ cursor_rows.

fetch_status

smallint

Stan pobierania ostatniej na tego kursor.Aby uzyskać więcej informacji, zobacz @@ fetch_status:

0 = Pomyślne pobrania.

-1 = Pobrania nie powiodło się lub jest poza granice kursor.

-2 = Żądana Brak wierszy.

-9 = Nastąpił nie pobierania na kursor.

column_count

smallint

Liczba kolumn w kursor zestaw wyników.

row_count

smallint

Liczba wierszy dotyczy ostatniej operacji na kursor.Aby uzyskać więcej informacji, zobacz @@ rowcount.

last_operation

smallint

Ostatniej operacji wykonywanych na kursor:

0 = Nie zostały wykonane operacje na kursor.

1 = OTWÓRZ

2 = POBRANIA

3 = WSTAW

4 = AKTUALIZACJI

5 = DELETE

6 = ZAMKNIJ

7 = DEALLOCATE

cursor_handle

int

Unikatową wartość, która identyfikuje kursor w obrębie zakres serwera.

Uwagi

sp_cursor_listTworzy listę bieżącego serwera kursory, otwierany przez połączenie i opisuje atrybuty globalnego każdego kursor, takich jak scrollability i aktualizacji kursor.Kursory wymienione przez sp_cursor_list należą:

  • Transact-SQLkursory serwera.

  • API serwera kursory otwarty przez aplikacji ODBC, który jest następnie wywoływana SQLSetCursorName nazwę kursor.

Użycie sp_describe_cursor_columns opis atrybutów zestaw wyników zwrócone przez kursor.Użycie sp_describe_cursor_tables dla raportów tabel bazowych odwołuje się kursor.sp_describe_cursorRaporty te same informacje, jak sp_cursor_list, ale tylko dla określonego kursor.

Uprawnienia

Domyślne uprawnienia do wykonywania public rolę.

Przykłady

Poniższy przykład otwiera globalnego kursor i korzysta z sp_cursor_list o atrybuty kursor.

USE AdventureWorks2008R2;
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