sql server 2005 T-SQL @@CURSOR_ROWS (Transact-SQL)
2007-12-20 13:30
796 查看
返回连接上打开的上一个游标中的当前限定行的数目。为了提高性能,Microsoft SQL Server 可异步填充大型键集和静态游标。可调用 @@CURSOR_ROWS 以确定当其被调用时检索了游标符合条件的行数。
Transact-SQL 语法约定
语法
返回类型
integer
返回值
备注
如果上一个游标是异步打开的,则 @@CURSOR_ROWS 返回的数字是负数。如果 sp_configure cursor threshold 的值大于 0,且游标结果集中的行数大于游标阈值,则异步打开键集驱动程序或静态游标。
示例
该示例声明了一个游标,并且使用 SELECT 显示 @@CURSOR_ROWS 的值。在游标打开前,该设置的值为 0,值 -1 则表示游标键集被异步填充。
复制代码
下面是结果集:
Transact-SQL 语法约定
语法
@@CURSOR_ROWS
返回类型
integer
返回值
返回值 | 说明 |
---|---|
-m | 游标被异步填充。返回值 (-m) 是键集中当前的行数。 |
-1 | 游标为动态游标。因为动态游标可反映所有更改,所以游标符合条件的行数不断变化。因此,永远不能确定已检索到所有符合条件的行。 |
0 | 没有已打开的游标,对于上一个打开的游标没有符合条件的行,或上一个打开的游标已被关闭或被释放。 |
n | 游标已完全填充。返回值 (n) 是游标中的总行数。 |
如果上一个游标是异步打开的,则 @@CURSOR_ROWS 返回的数字是负数。如果 sp_configure cursor threshold 的值大于 0,且游标结果集中的行数大于游标阈值,则异步打开键集驱动程序或静态游标。
示例
该示例声明了一个游标,并且使用 SELECT 显示 @@CURSOR_ROWS 的值。在游标打开前,该设置的值为 0,值 -1 则表示游标键集被异步填充。
复制代码
USE AdventureWorks; GO SELECT @@CURSOR_ROWS; DECLARE Name_Cursor CURSOR FOR SELECT LastName ,@@CURSOR_ROWS FROM Person.Contact; OPEN Name_Cursor; FETCH NEXT FROM Name_Cursor; SELECT @@CURSOR_ROWS; CLOSE Name_Cursor; DEALLOCATE Name_Cursor; GO
下面是结果集:
相关文章推荐
- sql server 2005 T-SQL @@CURSOR_ROWS (Transact-SQL)
- SQL Server 2005 Beta 2 Transact-SQL 增强功能 1(转)
- SQL Server 2005 Beta 2 Transact-SQL 增强功能 1
- SQL Server 2005 Beta 2 Transact-SQL 增强功能
- SQL Server 2005 Beta 2 Transact-SQL 增强功能
- sql server 2005 T-SQL 参考 /(除)(Transact-SQL)
- sql server 2005 T-SQL =(等于)(Transact-SQL)
- sql server 2005 T-SQL @@CONNECTIONS (Transact-SQL)
- sql server 2005 T-SQL @@IO_BUSY (Transact-SQL)
- sql server 2005 T-SQL @@SPID (Transact-SQL)
- sql server 2005 T-SQL ALTER ROLE (Transact-SQL)
- sql server 2005 T-SQL ALTER USER (Transact-SQL)
- sql server 2005 T-SQL BACKUP (Transact-SQL)
- sql server 2005 T-SQL BEGIN TRANSACTION (Transact-SQL)
- sql server 2005 T-SQL CEILING (Transact-SQL)
- sql server 2005 T-SQL @@CPU_BUSY (Transact-SQL)
- sql server 2005 T-SQL @@IDLE (Transact-SQL)
- sql server 2005 T-SQL @@OPTIONS (Transact-SQL)
- sql server 2005 T-SQL @@SERVICENAME (Transact-SQL)
- sql server 2005 T-SQL ALTER ENDPOINT (Transact-SQL)