sp_describe_cursor (Transact-SQL)
Sunucu imleçözniteliklerini bildirir.
Sözdizimi
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
imleç çıktı almak için imleç bildirilen değişken adıdır.output_cursor_variableolan cursor, hiçbir varsayılan ve gereken saattüm imleçler ile ilişkili olmaması sp_describe_cursor denir.Döndürülen imleç kaydırılabilir, dinamik, salt okunur bir imleçolur.[ @cursor_source= ] { N'local' | N'global' | N'variable' }
Yerel imleç, genel imleçveya imleç değişken adını kullanarak rapor üzerinde imleç denetlenip denetlenmeyeceğini belirtir.Parametre nvarchar(30).[ @cursor_identity= ] N'local_cursor_name' ]
imleç ya da yerel anahtar sözcüğü olan veya yerel varsayılan olarak alınır bir BİLDİRMEK İMLEÇ deyim tarafından oluşturulan adıdır.local_cursor_nameis nvarchar(128).[ @cursor_identity= ] N'global_cursor_name' ]
imleç genel anahtar sözcük ya da sahip veya global için varsayılan olarak alınır bir BİLDİRMEK İMLEÇ deyim tarafından oluşturulan adıdır.global_cursor_nameis nvarchar(128).global_cursor_nameodbc uygulama tarafından açılmış bir API sunucu imleç adını da olabilir, sonra da çağırarak adlı SQLSetCursorName.
[ @cursor_identity= ] N'input_cursor_variable' ]
Açık imleçile ilişkili bir imleç değişken adıdır.input_cursor_variableis nvarchar(128).
Dönüş Kodu Değerleri
Hiçbiri
Döndürülen İmleçler
sp_describe_cursorkendi sonuç kümesi Kapsüller bir Transact-SQL cursor çıkış parametresi.Böylece Transact-SQL toplu işlemleri, saklı yordamları ve Tetikleyicileri çıkış bir satır ile her saatçalışmak için.Bu da yordamı veritabanı API işlevlerini doğrudan çağrılamaz anlamına gelir.cursor Çıkış parametresi bağlı, değişkene bir program, ancak veritabanı API'leri desteklemiyor bağlama cursor parametre veya değişken.
Aşağıdaki tablo kullanarak döndürülen imleç biçimi gösterir sp_describe_cursor.imleç biçimi kullanarak döndürülen biçimle aynıdır sp_cursor_list.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
reference_name |
sysname |
imleçbaşvurmak için kullanılan ad.imleç referansı üzerinden bir BİLDİRMEK İMLEÇ deyimbelirtilen adı ise, başvuru adı imleç adı ile aynıdır.imleç referansı ile bir değişken ise, başvuru adı deðiþkenin adýdýr. |
cursor_name |
sysname |
BİLDİRMEK İMLEÇ deyim imleç adı.De SQL Server, imleç bir imleç değişken bir imleç, ayarlama tarafından oluşturulmuş cursor_name adını döndürür imleç değişken.Önceki sürümlerinde SQL Server, bu çıktı sütun döndürür bir sistem tarafından oluşturulan ad. |
cursor_scope |
tinyint |
1 = YEREL 2 = GENEL |
status |
int |
Aynı değerleri cursor_status sistem işlevtarafından bildirilen olarak: 1 = Başvurulan imleç adı veya değişken ' % s'imleç imleç tarafından açıktır.Duyarlı, statik imleç veya anahtar kümesi, sahip en az bir satır.Dinamik imleç ise sonuç kümesi sıfır veya daha fazla satır var. 0 = Başvurulan imleç imleç adı veya değişken açıktır ancak hiçbir satır yok.Dinamik imleçler hiçbir zaman bu değeri döndürür. -1 = Başvurulan imleç adı veya değişken ' % s'imleç imleç tarafından kapatılır. -2 Aşağıdakilere yalnızca imleç değişkenleri =.Hiçbir imleç değişkenine atanan vardır.Büyük bir olasılıkla bir çıkış parametresi olan bir imleç değişkenine atanan, ancak saklı yordam dönmeden önce imleç kapalı. -3 = imleç veya imleç belirtilen ada sahip değişken yok veya imleç değişken bir imleç , kendisine ayrılan görmemiştir. |
model |
tinyint |
1 = Küçük harf duyarlı (veya statik) 2 = Anahtar kümesi 3 = Dinamik 4 = Hızlı İleri Sar |
concurrency |
tinyint |
1 = Salt okunur 2 = Kaydırma kilitleri 3 = İyimser |
scrollable |
tinyint |
0 = Salt ileri 1 = Kaydırılabilir |
open_status |
tinyint |
0 = Kapalı 1 = Açık |
cursor_rows |
decimal(10,0) |
sonuç kümesiniteleme sayısı satırlar.Daha fazla bilgi için, bkz. @@ cursor_rows (Transact-SQL). |
fetch_status |
smallint |
Bu imleçüzerinde son getirme durumu.Daha fazla bilgi için, bkz. @@ fetch_status (Transact-SQL). 0 = Getirme başarılı. -1 = Getirme başarısız oldu veya imleçsınırları. -2 = İstenen satır eksik. "9" Simgesi = imleçhiçbir getirme olmuştur. |
column_count |
smallint |
imleçsonuç kümesisütun sayısı. |
row_count |
decimal(10,0) |
imleçson operasyonda tarafından etkilenen satırların sayısı.Daha fazla bilgi için, bkz. @@ rowcount (Transact-SQL). |
last_operation |
tinyint |
imleçgerçekleştirilen son işlem: 0 = No gerçekleştirilen işlemler imleç. 1 = AÇIK 2 = GETİRME 3 = EKLE 4 = GÜNCELLEŞTİRME 5 = DELETE 6 = KAPAT 7 = AYIRMASI |
cursor_handle |
int |
Sunucu kapsam içinde imleç için benzersiz bir değer. |
Açıklamalar
sp_describe_cursorbir sunucu imleç, kaydırma ve güncelleştirme olanağı gibi genel özniteliklerini açıklar.Use sp_describe_cursor_columns bir imleçtarafından döndürülen sonuç kümesi özniteliklerini açıklaması.Use sp_describe_cursor_tables ' % s'imleç imleçtarafından başvurulan temel tablolar, rapor.Bir rapor almak için Transact-SQL server imleçler görünür bağlantı kullanmak sp_cursor_list.
Bir imleç türü BİLDİRMEK İMLEÇ deyim isteyebilir SQL Server olamaz desteği kullanarak select deyim içerdiği declare cursor.SQL Serverörtülü imleç select deyimkullanarak destekleyen bir türe dönüştürür.TYPE_WARNING İMLEÇ BİLDİRMEK deyimbelirtilirse, SQL Server uygulamaya dönüştürme tamamlanmış olan bilgilendirici bir ileti gönderir.sp_describe_cursorsonra uygulanan imleç türünü belirlemek için çağrılabilir.
İzinler
Üyelik gerektiren public rolü.
Örnekler
Aşağıdaki örnek genel imleç açar ve kullanan sp_describe_cursor imleçözniteliklerini raporlamak için.
USE AdventureWorks2008R2;
GO
-- Declare and open a global cursor.
DECLARE abc CURSOR STATIC FOR
SELECT LastName
FROM Person.Person;
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