Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Transact-SQL sunucu imlecini açar ve DECLARE CURSOR veya SET cursor_variable deyiminde belirtilen Transact-SQL deyimini yürüterek imleci doldurur.
Transact-SQL söz dizimi kuralları
Syntax
OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name }
Arguments
GLOBAL
cursor_name genel bir imleç başvurduğunu belirtir.
cursor_name
Bildirilen imlecin adıdır. Adı cursor_name olan hem genel hem de yerel bir imleç varsa, cursor_name GENEL belirtilirse genel imleç anlamına gelir; aksi takdirde , cursor_name yerel imleç anlamına gelir.
cursor_variable_name
İmleç değişkenine başvuran bir imleç değişkeninin adıdır.
Remarks
İmleç DUYARSIZ veya STATIK seçeneğiyle bildirilirse, AÇ işlevi sonuç kümesini tutmak için geçici bir tablo oluşturur. Sonuç kümesindeki herhangi bir satırın boyutu SQL Server tabloları için en büyük satır boyutunu aştığında OPEN başarısız olur. İmleç KEYSET seçeneğiyle bildirilirse, OPEN anahtar kümesini tutmak için geçici bir tablo oluşturur. Geçici tablolar tempdb'de depolanır.
İmleç açıldıktan sonra, son açılan imleçteki uygun satır sayısını almak için @@CURSOR_ROWS işlevini kullanın.
Note
SQL Server, anahtar kümesi temelli veya statik Transact-SQL imleçlerinin zaman uyumsuz olarak oluşturulmasını desteklemez. OPEN veya FETCH gibi Transact-SQL imleç işlemleri toplu olarak çalıştırıldığından, Transact-SQL imleçlerin zaman uyumsuz oluşturulmasına gerek yoktur. SQL Server, her imleç işlemi için istemci gidiş dönüşleri nedeniyle düşük gecikmeli OPEN'ın sorun olduğu zaman uyumsuz anahtar kümesi temelli veya statik uygulama programlama arabirimi (API) sunucu imleçlerini desteklemeye devam eder.
Examples
Aşağıdaki örnek bir imleç açar ve tüm satırları getirir.
DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM AdventureWorks2022.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.
CLOSE (Transact-SQL)
@@CURSOR_ROWS (Transact-SQL)
DEALLOCATE (Transact-SQL)
İMLEÇ BILDIRME (Transact-SQL)
GETIR (Transact-SQL)