sp_describe_cursor (Transact-SQL)
Bir sunucu imleç özniteliklerini bildirir.
sp_describe_cursor [ @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' ]
}
Bağımsız değişkenler
[ @cursor_return = ] output_cursor_variable OUTPUT
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 is called.Döndürülen imleç kaydırılabilir, dinamik ve salt okunur bir imleç olur.[ cursor_source = { N'local '| N'global ' | N'variable ' }
Imleci, bildirilen bir yerel imleç, genel bir imleç veya imleç değişken adını kullanarak belirtilen olup olmadığını belirtir.Parametre 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_name Ayrıca, bir ODBC uygulaması tarafından açıldığında API sunucu imleci adı olabilir, sonra da çaðýrarak adlı SQLSetCursorName.
[ @cursor_identity = ] N'input_cursor_variable' ]
Is the name of a cursor variable associated with an open cursor.input_cursor_variable is nvarchar(128).
Dönüş Kodu Değerleri
None
Döndürülen imleçler
sp_describe_cursor encapsulates its result set in a Transact-SQLcursor output parameter.Bu olanak verir. Transact-SQL toplu işlemleri, saklı yordamları ve Tetikleyicileri çıktı bir satır ile aynı anda çalışmak için. Bu, ayrıca yordamı veritabanı API işlevleri doğrudan çağrılamaz anlamına gelir.The imleç output parameter must be bound to a program variable, but the database APIs do not support bağlama imleç parameters or variables.
Aşağıdaki tablo biçimini gösterir imleç kullanılarak döndürülür sp_describe_ imleç.Imlecin biçimi kullanarak döndürdü biçimi ile aynıdır sp_cursor_list.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
reference_name |
sysname |
Ad imleç başvurmak için kullanılır.Imleci referansı BILDIRMEK bir CURSOR üzerinde belirtilen ad ile ise deyim, başvuru adı imleç adı ile aynıdır.imleç referansı ile bir değişken varsa, başvuru adı değişkeni adıdır. |
cursor_name |
sysname |
imleç bir BILDIRMEK imleç ekstresinden adı.Içinde SQL Server, imleci bir imleç değişken bir imleç için ayarlama oluşturulduysa cursor_name imleç değişkenin adını döndürür.' Ün önceki sürümlerinde SQL Server, bu çıktı sütun, sistem tarafından oluşturulan bir ad verir. |
cursor_scope |
tinyint |
1 YEREL = 2 GENEL = |
status |
int |
Aynı değerleri CURSOR_STATUS sistem işlev tarafından bildirilen olarak: 1 Başvuru imleç = imleç tarafından açık veya değişken adıdır.Büyük küçük harf duyarlı, statik imleç veya anahtar kümesi, en az sahip bir satır.Dinamik bir imleç ise sonuç küme sıfır veya daha çok satır bulunur. 0 Başvurulan imleç = imleç adı veya değişken açıktır ancak hiçbir satır vardır.Dinamik imleçler hiçbir zaman bu değeri döndürür. -1 Başvurulan imleç = adı veya değişken imleç tarafından kapatıldı. -2 Yalnızca imleç değişkenleri için aşağıdakilere =.Değişkenine atanan hiçbir imleç yoktur.Büyük bir olasılıkla bir OUTPUT parametresi, bir imleç değişkenine atanan, ancak göndermeden önce imleci saklı yordam kapalı. -3 = Imleç ya da imleci belirtilen ada sahip değişken yok veya imleç değişkeni için ayrılmış olan bir imleç görmemiştir. |
model |
tinyint |
1 = ınsensitive'i (veya statik) 2 Anahtar kümesi = 3 Dinamik = 4 Hızlı ileri = |
concurrency |
tinyint |
1 Okuma = - yalnızca 2 Kaydırma kilitlerin = 3 Iyimser = |
scrollable |
tinyint |
0 Ileri = - yalnızca 1 Kaydırılabilir = |
open_status |
tinyint |
0 Kapalı = 1 Açık = |
cursor_rows |
decimal(10,0) |
Sonucu sayısı, niteleme satırları küme.Daha fazla bilgi için bkz:@@ CURSOR_ROWS (Transact-SQL). |
fetch_status |
smallint |
Bu son olan getirme durumunu imleç.Daha fazla bilgi için bkz:@@ FETCH_STATUS (Transact-SQL). 0 Getirme başarılı =. -1 Getirme başarısız oldu = ya da sınırları imleç. -2 Istenen = satır eksik. -9 = Imleç hiçbir getirme oluştu. |
column_count |
smallint |
Sütun bir imleç sonuç küme. |
row_count |
decimal(10,0) |
imleç, son operasyondan etkilenen satır sayısı.Daha fazla bilgi için bkz:@@ ROWCOUNT (Transact-SQL). |
last_operation |
tinyint |
Imleç gerçekleşen son işlemi: 0 = No imleç işlemler gerçekleşir. 1 AÇIK = 2 GETİRME = 3 EKLEME = 4 GÜNCELLEŞTİRME = 5 SİLME = 6 KAPATMA = 7 = AYIRMASI |
cursor_handle |
int |
Sunucu, kapsam içinde imleç için benzersiz bir değer. |
Remarks
sp_describe_cursor gidin ve güncelleştirme yeteneği gibi bir sunucu imlecine genel özniteliklerini açıklar.Kullanımı sp_describe_cursor_columns özniteliklerini imleç tarafından döndürülen sonuç kümesinden bir açıklaması.Kullanımı sp_describe_cursor_tables imleç tarafından başvurulan temel tablolar hakkında bir rapor için.Transact-SQL Sunucu imleçler görünür bağlantıda bir rapor elde etmek için kullanın. sp_cursor_list.
A DECLARE CURSOR statement may request a cursor type that SQL Server cannot support using the SELECT statement that is contained in the DECLARE CURSOR.SQL Server implicitly converts the cursor to a type it can support using the SELECT statement.If TYPE_WARNING is specified in the DECLARE CURSOR statement, SQL Server sends the application an informational message that a conversion has been completed.sp_describe_cursor can then be called to determine the type of cursor that has been implemented.
İzinler
Üyelik gerektirir Ortak roldür.
Örnekler
Aşağıdaki örnek, bir genel imleç açar ve kullanır sp_describe_cursor imleç öznitelikleri bildirmek için .
USE AdventureWorks;
GO
-- Declare and open a global cursor.
DECLARE abc CURSOR STATIC FOR
SELECT LastName
FROM Person.Contact
OPEN abc
-- Declare a cursor variable to hold the cursor output variable
-- from sp_describe_cursor.
DECLARE @Report CURSOR
-- Execute sp_describe_cursor into the cursor variable.
EXEC master.dbo.sp_describe_cursor @cursor_return = @Report OUTPUT,
@cursor_source = N'global', @cursor_identity = N'abc'
-- Fetch all the rows from the sp_describe_cursor 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.
CLOSE @Report
DEALLOCATE @Report
GO
-- Close and deallocate the original cursor.
CLOSE abc
DEALLOCATE abc
GO