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ı
Bu fonksiyon, bağlantı tarafından şu anda açık olan herhangi bir imleçte verilen son imleç FETCH ifadesinin durumunu döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
@@FETCH_STATUS
Dönüş Türü
integer
Dönüş Değeri
| Dönüş değeri | Description |
|---|---|
| 0 | FETCH açıklaması başarılı oldu. |
| -1 | FETCH ifadesi başarısız oldu ya da sıralama sonuç setinin ötesine geçti. |
| -2 | Getirilen sıra eksik. |
| -9 | İmleç getirme işlemi yapmıyor. |
Açıklamalar
Bağlantıdaki @@FETCH_STATUS tüm imleçler için küresel olduğu için, dikkatli kullanın. Bir FETCH ifadesi çalıştırıldıktan sonra, diğer herhangi bir FETCH ifadesi başka bir imleka karşı çalıştırılmadan önce için test yapılmalıdır @@FETCH_STATUS .
@@FETCH_STATUS bağlantıda herhangi bir getirme gerçekleşmeden önce tanımlanmamıştır.
Örneğin, bir kullanıcı bir imleçten bir FETCH ifadesi çalıştırır ve ardından başka bir imlecten gelen verileri açan ve işleyen bir depolanmış prosedürü çağırır. Kontrol çağrısı o depolanmış prosedürden dönerken, @@FETCH_STATUS o depolanmış prosedür içinde yapılan son FETCH ifadesini yansıtır, depolanan prosedür çağrısından önce yürütülen FETCH ifadesi değil.
Belirli bir imlecin son getirme durumunu almak için, sys.dm_exec_cursors dinamik yönetim fonksiyonunun fetch_status sütununu sorgulayın.
Örnekler
Bu örnek, bir WHILE döngüdeki imleç aktivitelerini kontrol etmek için kullanılır@@FETCH_STATUS.
DECLARE Employee_Cursor CURSOR FOR
SELECT BusinessEntityID, JobTitle
FROM AdventureWorks2022.HumanResources.Employee;
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;
GO