MSSQL 函数-系统函数-游标函数 @@cursor_rows 简介


游标函数-全部变量 @@cursor_rows 简介

@@cursor_rows 功能:返回当前会话中,最后一次访问游标中的行数。

@@cursor_rows 返回值简介:
返回值 -m:
游标为异步填充,返回值为集合中当前的行数之和。


返回值 -1:
当前游标为动态游标。


返回值 0:
当前会话中,未打开游标,或游标已经释放或游标已经关闭或 游标中没有符合条件的行


返回值 n:
返回当前会话中,游标中的行数之和



举例说明:

 create table A(keyId int,info varchar(50))
insert into A  values(1,'a'),(2,'b'),(3,'c'),(4,'db_accessadmin'),(5,'e')
go
/* 获取当前游标行*/
select '未定义游标时效果', @@CURSOR_ROWS 
/*定义游标*/
declare test cursor for 
select keyId,@@cursor_rows from A 
open test
fetch next from test
select '游标采用异步加载所以一直返回-1:',@@CURSOR_ROWS
close test 
deallocate test 
GO             

/*游标释放后 查看效果*/
select '游标释放后效果',@@CURSOR_ROWS

/*当加入关键字 scroll 或  insensitive 会返回 总行数*/
declare test  insensitive cursor  for  
select keyId,@@cursor_rows from A 
open test
fetch next from test
select '游标运行中,游标行数:',@@CURSOR_ROWS
close test 
deallocate test 
GO     

truncate table A
drop table A