Aracılığıyla paylaş


open (Transact-SQL)

Açılır bir Transact-SQL server imleç ve imleç yürüterek doldurur Transact-SQL deyim belirtilen İMLEÇ BİLDİRMEK veya set cursor_variable deyim.

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

Sözdizimi

OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Bağımsız değişkenler

  • GENEL
    Belirleyen cursor_name Genel imleçbaşvurur.

  • cursor_name
    imleçbildirilen addır.Hem genel hem de yerel imleç ile bulunup bulunmadığını cursor_name kendi adıyla cursor_name Başvuran genel imleç , global belirtilir; Aksi takdirde, cursor_name yerel imleçbaşvurur.

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

Açıklamalar

imleç küçük harf duyarlı veya statik seçeneği ile bildirilirse, açık sonuç kümesitutmak üzere geçici bir tablo oluşturur.Aç başarısız oluyor herhangi bir satırın sonuç kümesi için en büyük satır boyutunu aştığında SQL Server tablolar.imleç anahtar KÜMESİ seçeneği ile bildirilmiş, açık anahtar kümesi tutmak üzere geçici bir tablo oluşturur.Geçici tablolara depolanır tempdb.

Bir imleç açıldıktan sonra @@ cursor_rows işlev niteleme sayısını almak kullanmak son açılan imleçsatırları.

Not

SQL Serveranahtar kümesi kullanımlı veya statik oluşturulmasını desteklemiyor Transact-SQL imleçler zaman uyumsuz olarak.Transact-SQL imleç işlemlerini Aç veya getirme gibi batched, zaman uyumsuz nesil gerek oyunuyla Transact-SQL imleçler.SQL Serverdüşük gecikme süresi açık önemli olduğu zaman uyumsuz anahtar kümesi kullanımlı veya statik uygulama programı arabirimi (API) sunucu imleçler destekler, istemci yüzünden her imleç operasyonun trips yuvarlak devam eder.

Örnekler

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

DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM AdventureWorks2008R2.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;