sp_describe_cursor_columns (Transact-SQL)
Podaje atrybuty kolumny w zestawie wyników kursora serwera.
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
.gif)