Share via


OPEN (Transact-sql)

Açılır bir Transact-SQLsunucu imleç imleci yürüterek doldurur Transact-SQLdeyimi BILDIRMEK cursor veya takım üzerinde belirtilen cursor_variabledeyimi.

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

Sözdizimi

OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Bağımsız değişkenler

  • KÜRESEL
    Belirleyen cursor_name genel imleci için başvuruyor.

  • cursor_name
    Bir imleç bildirilen addır. Hem global hem de bir yerel imleç ile var cursor_namekendi adıyla cursor_nameglobal belirtilirse; genel imleç başvuran Aksi takdirde, cursor_name için yerel imleç başvurur.

  • cursor_variable_name
    Bir imleç değişken bir imleç başvuran adıdır.

Açıklamalar

İmleci INSENSITIVE veya statik seçeneği ile bildirilmiş, açık sonuç kümesi tutulacağı geçici bir tablo oluşturur. Aç başarısız sonuç kümesindeki her satır boyutunu en büyük satır boyutunu aşarsa SQL Servertabloları. İmleci anahtar kümesi seçeneği ile bildirilmiş, açık anahtar kümesi tutulacağı geçici bir tablo oluşturur. Geçici tablolara depolanır tempdb.

Bir imleç açıldıktan sonra alma @@ cursor_rows işlevi kullanmak satırlar son eleme imleç açtı.

[!NOT]

SQL Serveranahtar kümesi kullanımlı veya statik üreten desteklemeyen Transact-SQLimleçler uyumsuz. Transact-SQLImleç işlemlerini Aç veya getirme gibi işlenip, öylesine orada'hayır lüzum için zaman uyumsuz bir nesil Transact-SQLimleçler. SQL Serverzaman uyumsuz anahtar kümesi kullanımlı veya statik uygulama programlama arabirimi (API) sunucu imleçler nerede düşük gecikme süresi açık bir husustur desteklemek için istemci nedeniyle yuvarlak gezileri her imleç işlem için devam ediyor.

Örnekler

Aşağıdaki örnek, bir imleç açar ve tüm satırları döndürür.

DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM AdventureWorks2012.HumanResources.vEmployee
WHERE LastName like 'B%';

OPEN Employee_Cursor;

FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM Employee_Cursor
END;

CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;

DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM AdventureWorks2012.HumanResources.vEmployee
WHERE LastName like 'B%';

OPEN Employee_Cursor;

FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM Employee_Cursor
END;

CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;

Ayrıca bkz.

Başvuru

Kapat (Transact-sql)

@@ cursor_rows (Transact-sql)

(Transact-sql) Kaldır

declare cursor (Transact-sql)

fetch (Transact-sql)