sql server 2005 T-SQL @@FETCH_STATUS (Transact-SQL)
2007-12-20 13:34
507 查看
返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态。
Transact-SQL 语法约定
语法
返回类型
integer
返回值
备注
由于 @@FETCH_STATUS 对于在一个连接上的所有游标都是全局性的,所以要谨慎使用 @@FETCH_STATUS。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS。在此连接上出现任何提取操作之前,@@FETCH_STATUS 的值没有定义。
例如,用户从一个游标执行一条 FETCH 语句,然后调用一个存储过程,此存储过程打开并处理另一个游标的结果。从被调用的存储过程返回控制后,@@FETCH_STATUS 反映的是在存储过程中执行的最后的 FETCH 语句的结果,而不是在存储过程被调用之前的 FETCH 语句的结果。
若要检索特定游标的最后提取状态,请查询 sys.dm_exec_cursors 动态管理函数的 fetch_status 列。
示例
以下示例用 @@FETCH_STATUS 控制一个 WHILE 循环中的游标活动。
复制代码
Transact-SQL 语法约定
语法
@@FETCH_STATUS
返回类型
integer
返回值
返回值 | 说明 |
---|---|
0 | FETCH 语句成功。 |
-1 | FETCH 语句失败或行不在结果集中。 |
-2 | 提取的行不存在。 |
备注
由于 @@FETCH_STATUS 对于在一个连接上的所有游标都是全局性的,所以要谨慎使用 @@FETCH_STATUS。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS。在此连接上出现任何提取操作之前,@@FETCH_STATUS 的值没有定义。
例如,用户从一个游标执行一条 FETCH 语句,然后调用一个存储过程,此存储过程打开并处理另一个游标的结果。从被调用的存储过程返回控制后,@@FETCH_STATUS 反映的是在存储过程中执行的最后的 FETCH 语句的结果,而不是在存储过程被调用之前的 FETCH 语句的结果。
若要检索特定游标的最后提取状态,请查询 sys.dm_exec_cursors 动态管理函数的 fetch_status 列。
示例
以下示例用 @@FETCH_STATUS 控制一个 WHILE 循环中的游标活动。
复制代码
DECLARE Employee_Cursor CURSOR FOR SELECT EmployeeID, Title FROM AdventureWorks.HumanResources.Employee; OPEN Employee_Cursor; FETCH NEXT FROM Employee
相关文章推荐
- sql server 2005 T-SQL @@FETCH_STATUS (Transact-SQL)
- SQL Server 2005 Beta 2 Transact-SQL 增强功能 2
- SQL Server 2005 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 @@DATEFIRST (Transact-SQL)
- sql server 2005 T-SQL @@LOCK_TIMEOUT (Transact-SQL)
- sql server 2005 T-SQL @@PROCID (Transact-SQL)
- sql server 2005 T-SQL @@TOTAL_ERRORS (Transact-SQL)
- sql server 2005 T-SQL ALTER ENDPOINT (Transact-SQL)
- sql server 2005 T-SQL ALTER PARTITION FUNCTION (Transact-SQL)
- sql server 2005 T-SQL ALTER SERVICE (Transact-SQL)
- sql server 2005 T-SQL APPLOCK_MODE (Transact-SQL)
- sql server 2005 T-SQL BACKUP SERVICE MASTER KEY (Transact-SQL)
- sql server 2005 T-SQL @@DBTS (Transact-SQL)
- sql server 2005 T-SQL @@LOCK_TIMEOUT (Transact-SQL)
- sql server 2005 T-SQL @@PACK_RECEIVED (Transact-SQL)
- sql server 2005 T-SQL @@TOTAL_ERRORS (Transact-SQL)
- sql server 2005 T-SQL ALTER FULLTEXT CATALOG (Transact-SQL)