用游标打开的数据集,能否知道该数据集的行数?

rikky 2003-08-22 10:58:15
RT。


例如:
declare cur_workcycle scroll cursor
for
select workdayID from wtworkdays
open cur_workcycle

此时我能不能知道,该游标打开的数据集的记录行数!
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rikky 2003-08-22
  • 打赏
  • 举报
回复
谢谢
CrazyFor 2003-08-22
  • 打赏
  • 举报
回复

Transact-SQL 参考


@@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 则表示游标键集被异步填充。

SELECT @@CURSOR_ROWS
DECLARE authors_cursor CURSOR FOR
SELECT au_lname FROM authors
OPEN authors_cursor
FETCH NEXT FROM authors_cursor
SELECT @@CURSOR_ROWS
CLOSE authors_cursor
DEALLOCATE authors_cursor

-----------
0

(1 row(s) affected)

au_lname
----------------------------------------
White

(1 row(s) affected)


-----------
-1

(1 row(s) affected)


请参见

异步填充

游标函数

OPEN

©1988-2000 Microsoft Corporation。保留所有权利。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧