@@CURSOR_ROWS
返回串連上最後開啟的遊標中當前存在的合格行的數量。為提高效能,Microsoft SQL Server 可以非同步填充大鍵集和靜態資料指標。可調用 @@CURSOR_ROWS,以確定當它被調用時,符合遊標的行的數目被進行了檢索。
| 傳回值 |
描述 |
| -m |
遊標被非同步填充。傳回值 (-m) 是鍵集中當前的行數。 |
| -1 |
遊標為動態。因為動態資料指標可反映所有更改,所以符合遊標的行數不斷變化。因而永遠不能確定地說所有合格行均已檢索到。 |
| 0 |
沒有被開啟的遊標,沒有符合最後開啟的遊標的行,或最後開啟的遊標已被關閉或被釋放。 |
| n |
遊標已完全填充。傳回值 (n) 是在遊標中的總行數。 |
文法
@@CURSOR_ROWS
傳回型別
integer
注釋
若最後開啟的遊標是非同步開啟的,則 @@CURSOR_ROWS 返回的值是負數。若 sp_configure cursor threshold 的值大於0,則鍵集驅動程式或靜態資料指標被非同步開啟,且遊標結果集中的行數大於遊標閾值。
樣本
下面的樣本聲明了一個遊標,並且用 SELECT 顯示 @@CURSOR_ROWS 的值。在遊標開啟前,設定值為 0,值 -1 則表示遊標鍵集被非同步填充。
use pubs
SELECT @@CURSOR_ROWS as 'aa'
DECLARE authors_cursor CURSOR FOR
SELECT au_lname FROM authors
OPEN authors_cursor
FETCH NEXT FROM authors_cursor
SELECT @@CURSOR_ROWS as 'bb'
CLOSE authors_cursor
DEALLOCATE authors_cursor
----------- 0 (1 row(s) affected)au_lname ---------------------------------------- White (1 row(s) affected) ----------- -1 (1 row(s) affected)