@@CURSOR_ROWS (Transact-SQL)
傳回在連接所開啟的最後一個資料指標中,目前符合的資料列數。為了改進效能,MicrosoftSQL Server 可以非同步地擴展大型索引鍵集和靜態資料指標。您可以呼叫 @@CURSOR_ROWS 來決定在呼叫 @@CURSOR_ROWS 時擷取資料指標適用的資料列數目。
語法
@@CURSOR_ROWS
傳回類型
integer
傳回值
傳回值 |
描述 |
---|---|
-m |
非同步地擴展資料指標。傳回的值 (-m) 是目前在索引鍵集中的資料列數。 |
-1 |
資料指標是動態的。由於動態資料指標會反映所有變更,因此,資料指標之符合的資料列數會不斷改變。永遠不可能明確指出已擷取了所有符合的資料列。 |
0 |
未開啟任何資料列、最後開啟的資料指標沒有適合的資料列,或最後開啟的資料指標已關閉或取消配置。 |
n |
已充分擴展資料指標。傳回的值 (n) 是資料指標中的總資料列數。 |
備註
如果非同步地開啟最後一個資料指標,@@CURSOR_ROWS 傳回的數字便是負數。如果 sp_configurecursor threshold 的值大於 0,且資料指標結果集中的資料列數大於資料指標臨界值,便非同步地開啟索引鍵集驅動程式或靜態資料指標。
範例
這個範例會宣告一個資料指標,並利用 SELECT 來顯示 @@CURSOR_ROWS 的值。在資料指標開啟之前,這個設定值是 0,-1 值表示非同步地擴展資料指標索引鍵集。
USE AdventureWorks;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Contact;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
結果集如下:
-----------
0
LastName
---------------
Achong
-----------
-1