如何查找游标的记录数

时间:2013-05-27 05:13:38

标签: sql sql-server-2008

这是我的光标

 declare @product1 CURSOR 

 SET @product1 = CURSOR for SELECT Id from Tbl_StkDetailedBookStock where IsActive='True'         
 and  BookStockId=@tempd4 ;

这里我在光标中有2条记录(

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

那么如何找到游标数= 2,因为我想找到游标数并根据该数量进行一些操作。

任何人都有助于找到这个。

感谢。

2 个答案:

答案 0 :(得分:2)

SELECT @@CURSOR_ROWS AS TotalRows将为您提供游标中的总行数。但为此你需要一个静态游标。对于非静态游标,您需要通过迭代游标来计算自己。

答案 1 :(得分:0)

您可以添加计算列以返回行计数以及其他数据(每行中的值相同):

SET @product1 = CURSOR FOR
  SELECT Id, COUNT(*) OVER () AS cnt
  FROM Tbl_StkDetailedBookStock
  WHERE IsActive='True'
    AND BookStockId=@tempd4
;