Aracılığıyla paylaş


sp_describe_cursor (Transact-SQL)

Bir sunucu imleç özniteliklerini bildirir.

Topic link iconTransact-SQL sözdizimi kuralları

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