sql server Cursor_status

句法

SQL 复制
CURSOR_STATUS   
     (  
          { 'local' , 'cursor_name' }   
          | { 'global' , 'cursor_name' }   
          | { 'variable' , 'cursor_variable' }   
     )  

参数

'local' 
指定一个常量,指示游标源是本地游标名称。

cursor_name ' 
游标的名称。游标名称必须符合数据库标识符规则

'global' 
指定一个常量,指示光标的来源是全局光标名称。

'variable' 
指定一个常量,指示光标的来源是局部变量。

cursor_variable ' 
游标变量的名称。游标变量必须使用游标数据类型定义

返回类型

SMALLINT

返回值游标名称游标变量
1游标结果集至少有一行。

对于不敏感和键集游标,结果集至少有一行。

对于动态游标,结果集可以有零个,一个或多个行。
分配给这个变量的游标是打开的。

对于不敏感和键集游标,结果集至少有一行。

对于动态游标,结果集可以有零个,一个或多个行。
0游标结果集为空。*分配给此变量的游标已打开,但结果集肯定是空的。*
-1光标关闭。分配给此变量的游标已关闭。
-2不适用。具有以下其中一种可能性:

之前调用的过程未将游标分配给此OUTPUT变量。

先前分配的过程将光标分配给此OUTPUT变量,但过程完成时光标处于关闭状态。因此,游标被释放,并且不返回到调用过程。

没有游标被分配给声明的游标变量。
-3具有指定名称的游标不存在。具有指定名称的游标变量不存在,或者如果存在,则游标尚未分配给它。

*动态游标永远不会返回此结果。

例子

这个例子使用该CURSOR_STATUS函数来显示游标的状态,声明之后,打开之后以及关闭之后。

SQL 复制
CREATE TABLE #TMP  
(  
   ii int  
)  
GO  

INSERT INTO #TMP(ii) VALUES(1)  
INSERT INTO #TMP(ii) VALUES(2)  
INSERT INTO #TMP(ii) VALUES(3)  

GO  

--Create a cursor.  
DECLARE cur CURSOR  
FOR SELECT * FROM #TMP  

--Display the status of the cursor before and after opening  
--closing the cursor.  

SELECT CURSOR_STATUS('global','cur') AS 'After declare'  
OPEN cur  
SELECT CURSOR_STATUS('global','cur') AS 'After Open'  
CLOSE cur  
SELECT CURSOR_STATUS('global','cur') AS 'After Close'  

--Remove the cursor.  
DEALLOCATE cur  

--Drop the table.  
DROP TABLE #TMP  

这是结果集。

复制
After declare
---------------
-1  

After Open
----------
1  

After Close
-----------
-1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值