Aracılığıyla paylaş


OPEN (Transact-SQL)

Açılır bir Transact-SQL sunucu imleç ve imleç yürüterek doldurur Transact-SQL IMLECIN BILDIRMEK veya küme üzerinde belirtilen Ekstresi cursor_variable deyim.

Topic link iconTransact-SQL sözdizimi kuralları

OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name }

Bağımsız değişkenler

  • GENEL
    Belirtir cursor_name bir genel imlecine başvuruyor.

  • cursor_name
    Bildirilen bir imleç adıdır.Hem genel hem de bir yerel imleç ile varsa cursor_name kendi adıyla cursor_name Genel, belirtilen; aksi takdirde, genel imleci başvuruyor. cursor_name Yerel imleci başvuruyor.

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

Remarks

imleç INSENSITIVE veya STATIK bir seçenek olarak, OPEN sonucu tutulacağı geçici tablo oluşturur küme.Sonuç kümesindeki her satır için en büyük satır boyutunu aştığında OPEN başarısız oluyor. SQL Server Tablolar. imleç anahtar KÜMESI seçeneğiyle bildirilirse, OPEN, anahtar kümesi tutulacağı geçici tablo oluşturur.Geçici tablolara saklanır tempdb.

Bir imleç açıldıktan sonra numarasını almak için @@ CURSOR_ROWS işlevini kullanın imleç açılmış olan son satırda niteleme.

Not

SQL Server, anahtar kümesi uygulamalı veya statik Transact-SQL imleç zaman uyumsuz olarak oluşturulmasını desteklemez.Transact-SQL imleç işlemlerini Aç veya GETIRME gibi batched; bu nedenle zaman uyumsuz bir Transact-SQL imleç nesil gerekmez.SQL Server zaman uyumsuz anahtar kümesi uygulamalı veya statik uygulama düşük Gecikmeli OPEN önemli olduğu arabirim (API) sunucu imleçler programlama desteklemek için nedeniyle istemci her imleç operasyonun yolundaki 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 AdventureWorks.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;