@@CURSOR_ROWS (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

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

Transact-SQL 語法慣例

Syntax

@@CURSOR_ROWS  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

傳回類型

integer

傳回值

傳回值 描述
-m 資料指標非同步地擴展。 傳回的值 (-m) 是目前在索引鍵集中的資料列數。
-1 資料指標是動態的。 由於動態資料指標會反映所有變更;因此,資料指標適用的資料列數會不斷改變。 資料指標不一定會擷取所有合格的資料列。
0 未開啟任何資料列、最後開啟的資料指標沒有適合的資料列,或最後開啟的資料指標已關閉或取消配置。
n 已充分擴展資料指標。 傳回的值 (n) 是資料指標中的總資料列數。

備註

如果非同步地開啟最後一個資料指標,@@CURSOR_ROWS 會傳回負數。 如果 sp_configure 資料指標臨界值的值超過 0,且資料指標結果集中的資料列數超過資料指標臨界值,便會非同步地開啟索引鍵集驅動程式或靜態資料指標。

範例

此範例會先宣告一個資料指標,然後使用 SELECT 來顯示 @@CURSOR_ROWS 的值。 在資料指標開啟之前,這個設定值是 0,值 -1 表示資料指標索引鍵集非同步地擴展。

USE AdventureWorks2022;  
GO  
SELECT @@CURSOR_ROWS;  
DECLARE Name_Cursor CURSOR FOR  
SELECT LastName ,@@CURSOR_ROWS FROM Person.Person;  
OPEN Name_Cursor;  
FETCH NEXT FROM Name_Cursor;  
SELECT @@CURSOR_ROWS;  
CLOSE Name_Cursor;  
DEALLOCATE Name_Cursor;  
GO             

結果集如下。

-----------
0  
LastName
---------------
Sanchez
-----------
-1

另請參閱

資料指標函數 (Transact-SQL)
OPEN (Transact-SQL)