Aracılığıyla paylaş


CURSOR_STATUS (Transact-SQL)

Yordamın bir imleç ve sonuç kümesi için verilen parametre döndürdü olup olmadığını belirlemek arayan bir saklı yordam sağlayan skaler fonksiyon.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • 'yerel'
    Gösteren bir sabit belirtir kaynak imleci bir yerel imleç adıdır.

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

  • 'global'
    Imleci kaynağını gösteren sabit bir genel bir imleç adını belirtir.

  • 'değişken'
    imleç kaynağını gösteren bir sabit yerel bir değişkene belirtir.

  • 'cursor_variable'
    Imleç değişken adıdır.Imleç bir değişkeni kullanarak tanımlanması gerekir cursor veri türü.

Dönüş Türleri

smallint

Dönüş değeri

Imleç adı

Imleç değişken

1

Sonuç küme imleç en az bir satır vardır.

Büyük küçük harf duyarlı ve anahtar küme imleçleri, sonuç küme en az bir satır vardır.

Sonuç dinamik imleçler için küme sıfır, bir veya daha çok satır olabilir.

Bu değişken için ayrılan imleç açıktır.

Büyük küçük harf duyarlı ve anahtar küme imleçleri, sonuç küme en az bir satır vardır.

Sonuç dinamik imleçler için küme sıfır, bir veya daha çok satır olabilir.

0

Sonuç küme imleç empty.* olur.

Bu değişken için ayrılan imleç açıkken, ancak sonuç küme kesinlikle empty.* olur.

-1

imleç kapatıldı.

Bu değişken için ayrılan imleç kapatıldı.

-2

Uygulanamaz.

Aşağıdaki gibi olabilir:

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

Bir imleç, daha önce çağrılan yordam tarafından bu OUTPUT değişkeni atandı, ancak tamamlandıktan sonra yordamın kapalı durumda olduğu.Bu nedenle, imleç ayırmanın ve arama yordamına döndürdü.

Bildirilen imleç değişkene atanmış hiçbir imleç yoktur.

-3

Belirtilen ada sahip BIR imleç yok.

Belirtilen ada sahip BIR imleç değişken yok ya da varsa, bunu henüz için ayrılmış olan bir imleç görmemiştir.

* Dinamik imleçler hiçbir zaman bu sonuç döndürür.

Örnekler

Aşağıdaki örnek CURSOR_STATUS önce ve sonra açık ve kapalı bir imleç durumu göstermek için işlev'ı tıklatın.

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

Here is the result set.

Sonra bildirin.

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

-1

Sonra Aç

----------

1

Sonra Kapat

-----------

-1