@@CURSOR_ROWS (Transact-SQL)
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體
這會傳回在連線所開啟的最後一個資料指標中,目前符合的資料列數。 為了提升效能,SQL Server 可以非同步方式擴展大型索引鍵集和靜態資料指標。 您可以呼叫 @@CURSOR_ROWS
,來決定在呼叫 @@CURSOR_ROWS 時擷取資料指標適用的資料列數目。
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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應