sp_describe_cursor_tables (Transact-SQL)
Raporty, obiekty lub tabele bazowe odwołuje się kursor serwera.
sp_describe_cursor_tables
[ @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_tables 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 either having 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 either having the GLOBAL keyword, or that defaulted to GLOBAL.global_cursor_name can also be the name of an API server cursor opened by an ODBC application that then named the cursor by calling SQLSetCursorName.global_cursor_name is nvarchar(128).[ @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_tables 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 funkcji interfejsu API.The kursor output parameter must be bound to a program variable, but the APIs do not support bind kursor parameters or variables.
W poniższej tabela przedstawiono w formacie kursor, jest zwracany przez sp_describe_cursor_tables.
Nazwa kolumna |
Typ danych |
Description |
|---|---|---|
table owner |
sysname |
Identyfikator użytkownika właściciela tabela. |
Table_name |
sysname |
Nazwa tabela bazowa lub obiektu.W SQL Server, kursory serwera zawsze zwracają obiekt określone przez użytkownika, tabel bazowych. W SQL Server 2000, kursory serwer zwraca tabel bazowych, chyba, że przy użyciu WITH VIEW_METADATA tworzony jest widok lub funkcja. |
Optimizer_hints |
smallint |
Mapa bitowa, która składa się z co najmniej jedną z następujących czynności: 1 = Poziomie wiersza blokowania (ROWLOCK) 4 = Poziom strona blokowania (PAGELOCK) 8 = blokada tabela (TABLOCK) 16 = tabela wyłącznej blokada (TABLOCKX) 32 = Blokada aktualizacji (UPDLOCK) 64 = Nie blokad (NOLOCK) 128 = Opcję szybkiego pierwszego wiersza (FASTFIRST) Odczyt powtarzalny = 4096 semantycznych, gdy używana z DECLARE kursor (HOLDLOCK) Gdy wiele opcji są podane, system używa najbardziej restrykcyjne.Jednak sp_describe_cursor_tables zawiera flagi, które są określone w kwerendzie. |
lock_type |
smallint |
Scroll blokada typu żądanie albo jawnie lub niejawnie dla każdej tabela bazowa, które źródłową tego kursor.Wartość może być jedną z następujących czynności: 0 = Brak 1 = Shared 3 = Aktualizacji |
server_name |
sysname, nullable |
Nazwa serwer połączony w tabela znajduje się.Wartość NULL, gdy używane są OPENQUERY lub OPENROWSET. |
Objectid |
int |
Identyfikator obiektu w tabela.0, gdy używane są OPENQUERY lub OPENROWSET. |
dbid |
int |
Identyfikator znajdujący się w tabela w bazie danych.0, gdy używane są OPENQUERY lub OPENROWSET. |
dbname |
sysname, nullable |
Nazwa bazy danych, przechowywanego w tabela.Wartość NULL, gdy używane są OPENQUERY lub OPENROWSET. |
Remarks
sp_describe_cursor_tables zawiera opis podstawowych tabel, do których odwołuje się kursor serwera.Aby uzyskać opis atrybutów zestaw wyników zwróconych przez kursor za pomocą sp_describe_cursor_columns.Opis właściwości globalne kursor, takie jak jego scrollability i aktualizacji należy użyć sp_describe_cursor.Aby otrzymać raport o Transact-SQL Użyj kursorów serwera, które są widoczne w danym połączeniu sp_cursor_list.
Uprawnienia
Członkostwo w grupie wymaga publiczne roli.
Przykłady
Poniższy przykład otwiera globalne kursora i używa sp_describe_cursor_tables Aby zgłosić w tabelach, do których odwołuje się kursor.
USE AdventureWorks
GO
-- Declare and open a global cursor.
DECLARE abc CURSOR KEYSET FOR
SELECT LastName
FROM Person.Contact
WHERE LastName LIKE 'S%'
OPEN abc
GO
-- Declare a cursor variable to hold the cursor output variable
-- from sp_describe_cursor_tables.
DECLARE @Report CURSOR
-- Execute sp_describe_cursor_tables into the cursor variable.
EXEC master.dbo.sp_describe_cursor_tables
@cursor_return = @Report OUTPUT,
@cursor_source = N'global', @cursor_identity = N'abc'
-- Fetch all the rows from the sp_describe_cursor_tables 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_tables.
CLOSE @Report
DEALLOCATE @Report
GO
-- Close and deallocate the original cursor.
CLOSE abc
DEALLOCATE abc
GO
.gif)