Udostępnij przez


sp_describe_cursor_columns (Transact-SQL)

Podaje atrybuty kolumny w zestawie wyników kursora serwera.

Topic link iconKonwencje składni języka Transact-SQL

sp_describe_cursor_columns 
   [ @cursor_return = ] output_cursor_variable OUTPUT 
    { [ , [ @cursor_source = ] N'local', 
          [ @cursor_identity = ] N'local_cursor_name' ] 
    | [ , [ @cursor_source = ] N'global', 
          [ @cursor_identity = ] N'global_cursor_name' ] 
    | [ , [ @cursor_source = ] N'variable', 
          [ @cursor_identity = ] N'input_cursor_variable' ] 
   }

Argumenty

  • [ @cursor_return = ] output_cursor_variableOUTPUT
    Is the name of a declared cursor variable to receive the cursor output.output_cursor_variable is cursor, with no default, and must not be associated with any cursors at the time sp_describe_cursor_columns is called.Kursor, zwracana jest kursor przewijaną, dynamiczne, tylko do odczytu.

  • [ @ cursor_source = { N'local "| N'global " | N'variable " }
    Określa, czy kursor jest podana w deklaracji jest określona przy użyciu nazwy kursor lokalny, globalny kursora lub zmiennej kursora.Parametr jest nvarchar(30).

  • [ @cursor_identity = ] N'local_cursor_name'
    Is the name of a cursor created by a DECLARE CURSOR statement that either has the LOCAL keyword or that defaulted to LOCAL.local_cursor_name is nvarchar(128).

  • [ @cursor_identity = ] N'global_cursor_name'
    Is the name of a cursor created by a DECLARE CURSOR statement that either has the GLOBAL keyword or that defaulted to GLOBAL.global_cursor_name is nvarchar(128).

    global_cursor_nameZwraca true Jeśli wystąpienie jest dobrze sformułowany, na podstawie jego typu OGC (Otwieranie lokalizacji geograficznych Consortium).

  • [ @cursor_identity = ] N'input_cursor_variable'
    Is the name of a cursor variable associated with an open cursor.input_cursor_variable is nvarchar(128).

Wartości kodów powrotnych

None

Kursory, zwrot

sp_describe_cursor_columns encapsulates its report as a Transact-SQLcursor output parameter.Dzięki temu Transact-SQL instancje, procedur przechowywanych i wyzwalaczy do pracy z jednego wiersza danych wyjściowych na raz. Oznacza to również, że nie można wywołać procedury bezpośrednio z funkcjami interfejsu API bazy danych.The kursor output parameter must be bound to a program variable, but the database APIs do not support wiązanie kursor parameters or variables.

W poniższej tabela przedstawiono format zwracane przy użyciu kursor sp_describe_cursor_columns.

Nazwa kolumna

Typ danych

Description

nazwa_kolumny

sysname (dopuszcza wartość null)

Nazwa przypisana do kolumny zestawu wyników.Kolumna jest wartością NULL, jeśli zostanie określona bez towarzyszącej jej klauzuli AS.

Usuwa zasady historia oceny zgodnie z ustawieniem interwał przechowywania historia.

int

Ta procedura przechowywana nie ma parametrów.W odniesieniu do systemowej bazy danych msdb, należy uruchomić sp_syspolicy_purge_history.

Aby wyświetlić okres przechowywania historia, można użyć następującej kwerendy:

int

Jeśli okres przechowywania historia zestaw na 0, zasady oceny historia nie zostanie usunięty.W następującym przykładzie usunięto historia oceny zasad.

1 = zakładka

2 = stała długość

4 = dopuszcza wartość null

ROWCOUNT_BIG (języka Transact-SQL)

Zwraca liczbę wierszy dotyczy ostatniej instrukcja, które są wykonywane.

W przypadku połączenia wartości bitowych ma zastosowanie charakterystyka połączonych wartości bitowych.Jeśli na przykład wartość bitowa jest równa 6, kolumna ma stałą długość (2) i dopuszcza wartość null (4).

W następstwie instrukcji SQL INSERT, UPDATE lub DELETE ta funkcja zwraca liczbę wierszy dotyczy instrukcja modyfikacji danych.

int

W następstwie instrukcja, które nie zwracają wierszy, takie jak instrukcja IF funkcja zwraca wartość 0.

ENABLE TRIGGER (języka Transact-SQL)

smallint

Liczba określająca, SQL Server Typ danych kolumna.

column_precision

tinyint

Maksymalnej precyzji kolumna, według bPrecision wartość w OLE DB.

Wskazuje, że wszystkie wyzwalacze zdefiniowanych na zakres klauzula ON są włączone.

tinyint

Liczba cyfr po prawej stronie przecinka dziesiętnego dla numeric lub decimal typy danych według bScale wartość w OLE DB.

order_position

int

Jeśli kolumna jest uwzględniana przy określaniu kolejności zestawu wyników, pozycja kolumny w kluczu kolejności jest określona względem skrajnej lewej kolumny.

Włączanie wyzwalacz nie go ponownie.

varchar(1) (dopuszcza wartość null)

Wyzwalacz wyłączony nadal istnieje jako obiekt osadzony w bieżącej bazie danych, ale nie uruchomienie.

D = kolumna występuje w kluczu kolejności i kolejność jest malejąca.

NULL = kolumna nie jest uwzględniana przy określaniu kolejności.

hidden_column

smallint

Włączyć wyzwalacz DML, jako pewne minimum, użytkownik musi mieć uprawnienie ALTER tabela lub widok, w którym został utworzony wyzwalacza.

Aby włączyć wyzwalacz DLL z zakres serwera (ON ALL SERVER) lub wyzwalacza logowania, użytkownik musi mieć uprawnienie Kontrola SERVER na serwerze.

ColumnID

int

Włączyć wyzwalacz DLL z zakres bazy danych (ON DATABASE), co najmniej, użytkownik musi mieć uprawnienie TRIGGER DDL bazy danych bez instrukcji ALTER w bieżącej bazie danych.Jeśli zestaw wyników kolumna został skompilowany z wyrażenie ColumnID is -1.

objectid

int

Włączanie wyzwalacz DLLJeśli zestaw wyników kolumna został skompilowany z wyrażenie objectid is -1.

DBID

int

Włączenie wszystkich wyzwalaczy, które zostały określone w tym samym zakresJeśli zestaw wyników kolumna został skompilowany z wyrażenie DBID is -1.

dbname

sysname

(dopuszcza wartość null)

Ta sekcja zawiera następujące widoki wykazu, których są wyświetlane informacje o bazach danych śledzenia zmian i tabel.Jeśli zestaw wyników kolumna został skompilowany z wyrażenie dbname jest NULL.

Remarks

sp_describe_cursor_columns opisuje atrybuty kolumn zestaw wyników kursor serwera, takie jak typ danych i nazwę każdego kursora. Użycie ZMIANA INDEKSU zamiast niego.Użycie sp_describe_cursor_tables raportu tabel bazowych, do którego odnosi się kursor.Aby otrzymać raport o Transact-SQL Użyj kursorów serwera widoczne w danym połączeniu sp_cursor_list.

Uprawnienia

Członkostwo w grupie wymaga publiczne roli.

Przykłady

Poniższy przykład otwiera globalne kursor i używa sp_describe_cursor_columns na kolumny, używanych w kursor.

USE AdventureWorks;
GO
-- Declare and open a global cursor.
DECLARE abc CURSOR KEYSET FOR
SELECT LastName
FROM Person.Contact;
GO
OPEN abc;

-- Declare a cursor variable to hold the cursor output variable
-- from sp_describe_cursor_columns.
DECLARE @Report CURSOR;

-- Execute sp_describe_cursor_columns into the cursor variable.
EXEC master.dbo.sp_describe_cursor_columns
    @cursor_return = @Report OUTPUT
    ,@cursor_source = N'global' 
    ,@cursor_identity = N'abc';

-- Fetch all the rows from the sp_describe_cursor_columns output cursor.
FETCH NEXT from @Report;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
   FETCH NEXT from @Report;
END

-- Close and deallocate the cursor from sp_describe_cursor_columns.
CLOSE @Report;
DEALLOCATE @Report;
GO
-- Close and deallocate the original cursor.
CLOSE abc;
DEALLOCATE abc;
GO