2013-05-27 29 views
2

,這是我的光標如何找到一個遊標的記錄數

declare @product1 CURSOR 

SET @product1 = CURSOR for SELECT Id from Tbl_StkDetailedBookStock where IsActive='True'   
and [email protected] ; 

這裏我有2個記錄光標(

SELECT Id 
from Tbl_StkDetailedBookStock 
where IsActive = 'True' and BookStockId = 11 

因此,如何找到光標數= 2,因爲我想找到光標計數和以此爲基礎進行計數的一些操作。

人幫助找到這個。

感謝。

+0

你找不到這些信息,除非你列舉了整個遊標,例如您只需讀取下一行,直到沒有更多行被提取。 –

回答

2

SELECT @@CURSOR_ROWS AS TotalRows將爲您提供遊標中的總行數。但爲此,你需要一個靜態遊標。對於非靜態遊標,你需要通過迭代遊標來計算你自己。

0

你可以添加一個計算列返回的行數以及其他數據(這將是每一行中的值相同):

SET @product1 = CURSOR FOR 
    SELECT Id, COUNT(*) OVER() AS cnt 
    FROM Tbl_StkDetailedBookStock 
    WHERE IsActive='True' 
    AND [email protected] 
;
相關問題