@@CURSOR_ROWS (Transact-SQL)

傳回在連接所開啟的最後一個資料指標中,目前符合的資料列數。為了改進效能,MicrosoftSQL Server 可以非同步地擴展大型索引鍵集和靜態資料指標。您可以呼叫 @@CURSOR_ROWS 來決定在呼叫 @@CURSOR_ROWS 時擷取資料指標適用的資料列數目。

主題連結圖示Transact-SQL 語法慣例

語法

@@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