sql 游标循环遍历
2014-04-12 20:20
417 查看
原文:sql 游标循环遍历 写存储过程的时候碰到一个需要对数据进行遍历循环操作的问题,最后通过游标解决了,感觉很适用、
使用游标的顺序: 声名游标、打开游标、读取数据、关闭游标、删除游标。
由于 @@FETCH_STATUS 对于在一个连接上的所有游标是全局性的,要小心使用 @@FETCH_STATUS 。在执行一条 FETCH
语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS
。在任何提取操作出现在此连接上前,@@FETCH_STATUS 的值没有定义。
declare @level varchar(100) declare @uid varchar(100) declare cur cursor--定义一个游标 read_only for select egg_code.user_id,egg_prize_level from egg_code inner join egg_prize on egg_prize.user_id=egg_code.user_id--为所获得的数据集指定游标 open cur--打开游标 fetch next from cur into @uid,@level--把提取操作的列数据放到局部变量中 while(@@fetch_status=0)--返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。 begin --print '等级:'+@level+'--------------用户ID:'+@uid update egg_code set prize_level=@level where user_id=@uid--执行操作 --提前下一位信息 fetch next from cur into @uid,@level end close cur--关闭游标 deallocate cur--删除游标 go
使用游标的顺序: 声名游标、打开游标、读取数据、关闭游标、删除游标。
由于 @@FETCH_STATUS 对于在一个连接上的所有游标是全局性的,要小心使用 @@FETCH_STATUS 。在执行一条 FETCH
语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS
。在任何提取操作出现在此连接上前,@@FETCH_STATUS 的值没有定义。
相关文章推荐
- 利用oracle动态游标实现动态SQL循环遍历
- 使用SQL游标对数据进行遍历循环操作
- 用SQL游标遍历循环数据的方法
- 用SQL游标遍历循环数据的方法
- 游标遍历所有数据库循环执行修改数据库的sql命令
- 游标遍历所有数据库循环执行修改数据库的sql命令
- Oracle动态游标实现动态SQL循环遍历,和静态游标的比较。
- 利用Oracle动态游标实现动态SQL循环遍历
- sql 游标循环遍历
- 用SQL游标遍历循环数据的方法
- 用SQL游标遍历循环数据的方法
- SQL查询遍历数据方法二 [ 游标 + While循环]
- [转]sql利用游标循环,遍历表循环结果集
- 游标遍历所有数据库循环执行修改数据库的sql命令
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
- SQL查询遍历数据方法二 [ 游标 + While循环]
- 用SQL游标遍历循环数据的方法
- 用SQL游标遍历循环数据的方法
- SQL 利用游标循环添加数据
- 常用的sql脚本 游标遍历操作