Aracılığıyla paylaş


cursor_status (Transact-SQL)

Bir imleç ve sonuç kümesi için verilen parametre yordamı döndürdü olup olmadığını belirlemek saklı yordam çağıran veren skalerişlev .

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

CURSOR_STATUS 
     (
          { 'local' , 'cursor_name' } 
          | { 'global' , 'cursor_name' } 
          | { 'variable' , 'cursor_variable' } 
     )

Bağımsız değişkenler

  • 'yerel'
    imleç kaynak gösteren bir sabit bir yerel imleç adını belirtir.

  • 'cursor_name'
    imleçadıdır.Bir imleç adı tanıtıcı kurallarına uyması gerekir.

  • 'genel'
    imleç kaynak gösteren bir sabit genel imleç adı belirtir.

  • 'değişken'
    imleç kaynak gösteren bir sabit bir yerel değişken belirtir.

  • 'cursor_variable'
    imleç değişken adıdır.Bir imleç değişken kullanılarak tanımlanmalıdır cursor veri türü.

Dönüş Türleri

smallint

Dönüş değeri

İmleç adı

İmleç değişken

1

sonuç kümesi imleç en az bir satır vardır.

İçin duyarlı ve anahtar kümesi imleç, sonuç kümesi en az bir satır vardır.

Dinamik imleçler için sonuç kümesi sıfır, bir ya da daha fazla satır olabilir.

Bu değişken tahsis imleç açıktır.

İçin duyarlı ve anahtar kümesi imleç, sonuç kümesi en az bir satır vardır.

Dinamik imleçler için sonuç kümesi sıfır, bir ya da daha fazla satır olabilir.

0

Empty.* ise sonuç kümesi imleç

Bu değişken tahsis imleç açık, ancak sonuç kümesi kesinlikle empty.*

-1

imleç kapalı.

Bu değişken tahsis imleç kapalı.

-2

Uygulanamaz.

Aşağıdakilerden biri olabilir:

Hiçbir imleç tarafından daha önce çağrılan yordam bu çıkış değişkeni atandı.

Bir imleç tarafından daha önce çağrılan yordam bu çıkış değişkeni atandı, ancak yordamı tamamlandıktan sonra kapalı bir durumda idi.Bu nedenle, imleç kaldırıldı ve arama yordamı döndürülmüyor.

Hiçbir imleç bildirilen imleç değişkenine atanan vardır.

-3

Belirtilen adı taşıyan bir imleç yok.

Belirtilen adı taşıyan bir imleç değişken yok veya varsa onu henüz ayrılmış bir imleç görmemiştir.

* Dinamik imleçler hiçbir zaman bu sonuç.

Örnekler

Aşağıdaki örnek önce ve sonra açık ve kapalı bir imleç durumu göstermek içinCURSOR_STATUSişlev .

CREATE TABLE #TMP
(
   ii int
)
GO

INSERT INTO #TMP(ii) VALUES(1)
INSERT INTO #TMP(ii) VALUES(2)
INSERT INTO #TMP(ii) VALUES(3)

GO

--Create a cursor.
DECLARE cur CURSOR
FOR SELECT * FROM #TMP

--Display the status of the cursor before and after opening
--closing the cursor.

SELECT CURSOR_STATUS('global','cur') AS 'After declare'
OPEN cur
SELECT CURSOR_STATUS('global','cur') AS 'After Open'
CLOSE cur
SELECT CURSOR_STATUS('global','cur') AS 'After Close'

--Remove the cursor.
DEALLOCATE cur

--Drop the table.
DROP TABLE #TMP

Sonuç kümesi buradadır.

After declare

---------------

-1

After Open

----------

1

After Close

-----------

-1