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
Belirli bir parametre için, CURSOR_STATUS
imleç bildiriminin bir imleç ve sonuç kümesi döndürip döndürmediğini gösterir.
Transact-SQL söz dizimi kuralları
Sözdizimi
CURSOR_STATUS
(
{ 'local' , 'cursor_name' }
| { 'global' , 'cursor_name' }
| { 'variable' , 'cursor_variable' }
)
Tartışmalar
'yerel'
İmleç kaynağının yerel bir imleç olduğunu belirten bir sabit belirtir.
'cursor_name'
İmlecin adı. İmleç adı veritabanı tanımlayıcı kurallarına uygun olmalıdır.
'global'
İmlecin kaynağının genel bir imleç olduğunu belirten bir sabit belirtir.
'değişken'
İmlecin kaynağının yerel bir değişken olduğunu belirten bir sabit belirtir.
'cursor_variable'
İmleç değişkeninin adı. İmleç değişkeni, imleç veri türü kullanılarak tanımlanmalıdır.
Dönüş türleri
smallint
Dönüş değeri | İmleç adı | İmleç değişkeni |
---|---|---|
1 |
İmleç sonuç kümesinin en az bir satırı vardır. Duyarsız ve tuş kümesi imleçleri için sonuç kümesinin en az bir satırı vardır. Dinamik imleçler için sonuç kümesinde sıfır, bir veya daha fazla satır olabilir. |
Bu değişkene ayrılan imleç açık. Duyarsız ve tuş kümesi imleçleri için sonuç kümesinin en az bir satırı vardır. Dinamik imleçler için sonuç kümesinde sıfır, bir veya daha fazla satır olabilir. |
0 |
İmleç sonuç kümesi boş. 1 | Bu değişkene ayrılan imleç açık, ancak sonuç kümesi kesinlikle boş.* |
-1 |
İmleç kapatılır. | Bu değişkene ayrılan imleç kapatılır. |
-2 |
Uygulanamaz. | Şu olasılıklardan birine sahiptir: Daha önce adı verilen yordam bu OUTPUT değişkene bir imleç atamadı.Daha önce atanan yordam bu OUTPUT değişkene bir imleç atamıştı, ancak yordam tamamlandığında imleç kapalı durumdaydı. Bu nedenle, imleç serbest bırakılır ve çağıran yordama döndürülür.Bildirilen imleç değişkenine imleç atanmadı. |
-3 |
Belirtilen ada sahip bir imleç yok. | Belirtilen ada sahip bir imleç değişkeni yok veya varsa, buna henüz imleç ayrılmamış. |
1 Dinamik imleçler hiçbir zaman bu sonucu döndürmez.
Örnekler
Bu örnekte, bir imlecin CURSOR_STATUS
bildiriminden sonra, açıldıktan sonra ve kapatıldıktan sonra durumunu göstermek için işlevi kullanılır.
CREATE TABLE #TMP (ii INT);
GO
INSERT INTO #TMP (ii) VALUES (1);
INSERT INTO #TMP (ii) VALUES (2);
INSERT INTO #TMP (ii) VALUES (3);
GO
-- Create a cursor
DECLARE cur CURSOR
FOR SELECT * FROM #TMP;
-- Display the status of the cursor before and after opening
-- and closing the cursor
SELECT CURSOR_STATUS('global', 'cur') AS 'After declare';
OPEN cur;
SELECT CURSOR_STATUS('global', 'cur') AS 'After Open';
CLOSE cur;
SELECT CURSOR_STATUS('global', 'cur') AS 'After Close';
-- Remove the cursor.
DEALLOCATE cur;
-- Drop the table.
DROP TABLE #TMP;
Sonuç kümesi aşağıdadır.
After declare
---------------
-1
After Open
----------
1
After Close
-----------
-1