http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5660|回复: 1

[学习心得] SQL随笔之游标的用法

[复制链接]
发表于 2016-11-28 16:18:43 | 显示全部楼层 |阅读模式
sql中的游标,一般是用来对数据进行循环处理的,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,一次只指向一行。
游标的使用步骤:
   1、定义游标
   2、打开游标
   3、使用游标
   4、关闭游标
   5、释放游标
[SQL] 纯文本查看 复制代码
declare @temp1 int,@temp2 int--定义临时变量
declare 游标1 cursor for select 字段1,字段2,... from 表 where 查询条件--定义游标
open mycursor--打开游标
fetch next from mycursor into @temp1,@temp2--读取一行
while @@FETCH_STATUS=0
begin
    --执行增删改查逻辑
    fetch next from mycursor into @temp1,@temp2--读取下一行
end
Close  游标1                        --关闭游标 
Deallocate  游标1                    --删除游标
  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 游标名

例如我们可以更新或者删除当前行的数据:
[SQL] 纯文本查看 复制代码
declare @temp1 int,@temp2 int--定义临时变量
declare 游标1 cursor for select 字段1,字段2,... from 表 where 查询条件--定义游标
open mycursor--打开游标
fetch next from mycursor into @temp1,@temp2--读取一行
while @@FETCH_STATUS=0
begin
    --执行增删改查逻辑
    update 表2 set 字段1='张' where current of  游标1 --修改游标中的当前行
    fetch next from mycursor into @temp1,@temp2--读取下一行
end
Close  游标1                        --关闭游标 
Deallocate  游标1                    --删除游标


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 19:18

© 2014-2021

快速回复 返回顶部 返回列表