Aracılığıyla paylaş


sp_describe_cursor (Transact-sql)

Sunucu imleç özniteliklerini bildirir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

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Çıktı
    Imleç çıktı almak için bildirilen imleç değişken adıdır. output_cursor_variableise cursor, ile hiçbir varsayılan ve gereken zamanda herhangi bir imleç ile ilişkili olamaz sp_describe_cursordenir. Döndürülen imleç kaydırılabilir, dinamik, salt okunur bir imleç olur.

  • @cursor\_source= { N'local' | N'global' | N'variable' }
    İmleci üzerinde bildirilen bir yerel imleç, küresel bir imleç veya imleç değişken adını kullanarak belirtilen belirtir. Parametre nvarchar(30).

  • @cursor\_identity=N'local_cursor_name'
    Bir imleç ya da yerel anahtar olan ya da, yerel için öndeğer declare cursor deyimi tarafından oluşturulan adıdır. local_cursor_nameis nvarchar(128).

  • @cursor\_identity=N'global_cursor_name'
    global anahtar sözcüğü ya da sahip veya bu global için öndeğer declare cursor deyimi tarafından oluşturulan bir imleç adıdır. global_cursor_nameis nvarchar(128).

    global_cursor_namesonra adlı bir odbc uygulaması tarafından açılmış bir API sunucu imleç adı da olabilir çağırarak SQLSetCursorName.

  • @cursor\_identity=N'input_cursor_variable'
    Açık bir 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 imleçler

sp_describe_cursorKapsüller, sonuç kümesi bir Transact-SQL  cursorparametresi çıktı. Bu Transact-SQLtoplu işlemleri, saklı yordamları ve Tetikleyicileri çıkış bir satır ile bir zamanda çalışmak üzere. Yani aynı zamanda yordamı veritabanı API işlevlerini doğrudan çağrılamaz. cursorÇıkış parametresi bir programı değişkene bağlı olması gerekir ama veritabanı API'leri desteklemiyor bağlama cursorparametre veya değişken.

Aşağıdaki tablo kullanarak döndürülen imleç biçimi gösterir sp_describe_cursor. İmleç 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

İmleci başvurmak için kullanılan ad. Imleç başvuru yoluyla bir declare cursor deyimi belirtilen adı ise, başvuru adı imleç adı ile aynıdır. Imleç başvuru bir değişken ise, değişken adını referans addır.

cursor_name

sysname

declare cursor deyimi imleci adı. De SQL Server, imleç bir imleç değişken bir imleç ayarlayarak oluşturulmuşsa, cursor_nameimleç değişken adını döndürür. Önceki sürümlerinde SQL Server, sistem tarafından oluşturulan ad bu çıktı sütunu döndürür.

cursor_scope

tinyint

1 = YEREL

2 = KÜRESEL

status

int

Aynı değerleri cursor_status sistem işlevi tarafından bildirilen olarak:

1 = Başvurulan imleç adı veya değişken imleçle açıktır. Duyarsız, statik imleç veya anahtar kümesi, o en azından varsa bir satır. İmleci dinamik ise, sonuç kümesi sıfır veya daha fazla satır var.

0 = Başvurulan imleç imleç adı veya değişken ama açık 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 imleci tarafından kapatılır.

-2 = Aşağıdakilere yalnızca imleç değişkenleri için. Hiçbir imleç değişkenine atanan yoktur. Belki bir çıkış parametresi bir imleç değişkenine atanan, ancak saklı yordamı dönmeden önce imleç kapalı.

-3 = Imleç veya imleci belirtilen ada sahip değişken yok veya imleç değişken bir imleç için ayrılan görmemiştir.

model

tinyint

1 = INSENSITIVE (veya statik)

2 = Anahtar kümesi

3 = Dinamik

4 = Hızlı İleri

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)

Yeterlik sayısı, sonuç kümesinde 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 imleci sınırları.

-2 = İstenen satır eksik.

-9 = İmleç hiçbir getirme olmuştur.

column_count

smallint

İmleç sonuç kümesindeki sütun sayısı.

row_count

decimal(10,0)

Imleci son işlemi tarafından etkilenen satırların sayısı. Daha fazla bilgi için, bkz. @@ rowcount (Transact-sql).

last_operation

tinyint

İmleç son işlemi:

0 = No işlemler imleç gerçekleşir.

1 = AÇIK

2 = GETİRME

Ekle

4 = GÜNCELLEŞTİRME

5 = SİLME

6 = KAPAT

7 = AYIRMASI

cursor_handle

int

Sunucu kapsamı içinde imleci için benzersiz bir değer.

Açıklamalar

sp_describe_cursorSunucu imleç, kaydırma ve güncelleştirme yeteneği gibi genel özniteliklerini açıklar. Kullanım sp_describe_cursor_columnsimleç tarafından döndürülen sonuç kümesi özelliklerini açıklaması. Kullanım sp_describe_cursor_tablesimleç tarafından başvurulan temel tablolar rapor. Bir rapor almak için Transact-SQLSunucu imleçler bağlantı görünür kullanın sp_cursor_list.

declare cursor deyimi imleç türü isteyebilir SQL ServerBILDIRMEK cursor ' içerdiği deyimi kullanma desteği. SQL ServerÖrtülü imleç select deyimi destekleyebilen bir türüne dönüştürür. TYPE_WARNING imleç declare deyiminde belirtilen SQL Serveruygulama bir dönüşüm tamamlanmış olan bir bilgilendirme iletisi gönderir. sp_describe_cursorardından uygulanan imleç türünü belirlemek için çağrılabilir.

İzinler

Üyelik publicrolü.

Örnekler

Aşağıdaki örnek genel imleci açar ve sp_describe_cursorİmleç özniteliklerini raporlamak için.

USE AdventureWorks2012;
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

USE AdventureWorks2012;
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

Ayrıca bkz.

Başvuru

cursor_status (Transact-sql)

declare cursor (Transact-sql)

sp_cursor_list (Transact-sql)

sp_describe_cursor_columns (Transact-sql)

sp_describe_cursor_tables (Transact-sql)

Kavramlar

İmleçler