T-SQL用法(游标和Fetch)

一般情况下,我们使用select这些查询语句的时候,都是针对的一行记录而言。

如果要在查询分析器中对多行记录(即记录集)进行读取操作。则需要使用到游标或While等循环


游标的类型:

1、静态游标(不检测数据行的变化)

2、动态游标(反映所有数据行的改变)

3、仅向前游标(不支持滚动)

4、键集游标(能反映修改,但不能准确反映插入、删除)


游标使用顺序:

1、定义游标

2、打开游标

3、使用游标

4、关闭游标


Transact-SQL:

declare 游标名 cursor [LOCAL | GLOBAL] [FORWARD_ONLY | SCROLL ] [STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS]

for select语句 [for update [of 列名[,列名]]]

注:LOCAL 局部游标   GLOBAL 全局游标

        FORWARD_ONLY 仅向前 SCROLL 滚动

        STATIC 静态  KEYSET 键集  DYNAMIC 动态

         READ_ONLY 只读 SCROLL_LOCKS 锁定游标当前行

    获取游标的数据

          FETCH [  [  NEXT |   PRIOR   |   FIRST   |   LAST   |

          ABSOLUTE   {  n  |  @nvar   |    RELATIVE   {   n   |  @nvar   }]

           FROM   ]     游标名   [    into     变量]

    注:

           NEXT    下一行      PRIOR    上一行    FIRST   第一行

           LAST     最后一行    ABSOLUTE   n    第n行

            RELATIVE   n   当前位置开始的第n行

            into   变量    把当前行的各字段赋值给变量


游标状态变量:

        @@fetch_status   游标状态

        0  成功    -1  失败    -2   丢失

@@cursor_rows  游标中结果集中的行数

     n    行数     -1     游标是动态的     0   空集游标

操作游标的当前行:

       current   of      游标名




        

    

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值