sql 游标循环遍历

简介: 原文:sql 游标循环遍历  写存储过程的时候碰到一个需要对数据进行遍历循环操作的问题,最后通过游标解决了,感觉很适用、 1 declare @level varchar(100) 2 declare @uid varchar(100) 3 declare cur cursor--定义一个游标 4 read_only 5 for select egg_code.
原文: sql 游标循环遍历

  写存储过程的时候碰到一个需要对数据进行遍历循环操作的问题,最后通过游标解决了,感觉很适用、

 1 declare @level varchar(100)
 2 declare @uid varchar(100)
 3 declare cur cursor--定义一个游标
 4 read_only
 5 for select egg_code.user_id,egg_prize_level
 6 from egg_code inner join egg_prize on egg_prize.user_id=egg_code.user_id--为所获得的数据集指定游标
 7 
 8 open cur--打开游标
 9 fetch next from cur into @uid,@level--把提取操作的列数据放到局部变量中
10 while(@@fetch_status=0)--返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
11 
12 begin
13 --print '等级:'+@level+'--------------用户ID:'+@uid
14 
15 update egg_code set prize_level=@level   where user_id=@uid--执行操作
16 
17 --提前下一位信息
18 fetch next from cur into @uid,@level
19 end
20 close cur--关闭游标
21 deallocate cur--删除游标
22 go

使用游标的顺序: 声名游标、打开游标、读取数据、关闭游标、删除游标。
由于 @@FETCH_STATUS 对于在一个连接上的所有游标是全局性的,要小心使用 @@FETCH_STATUS 。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS 。在任何提取操作出现在此连接上前,@@FETCH_STATUS 的值没有定义。

目录
相关文章
|
3月前
|
SQL 存储 Perl
PL/SQL的游标
PL/SQL的游标
26 2
|
4月前
|
存储 SQL Oracle
|
5月前
|
SQL
sql游标的使用
sql游标的使用
21 0
|
8月前
|
存储 SQL
sql_存储过程、函数、分支、循环
sql_存储过程、函数、分支、循环
95 0
|
9月前
|
SQL 存储 数据库
SQL Server—游标(是什么?声明、打开、检索、关闭、释放)
是一种数据访问机制,它允许用户单独的操作数据行,而不是对整个行集进行操作。用户可以通过单独处理每一行逐条手机信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出
|
10月前
|
SQL 缓存 监控
为什么Oracle中包含绑定变量的SQL会有多个游标?(译文)
为了改进包含绑定变量的SQL的执行计划,Oracle在11g版本中引入了一项名为自适应游标共享(ACS,Adaptive Cursor Sharing)的新功能。
105 0
|
11月前
|
SQL 存储 Oracle
PL/SQL编程—游标
PL/SQL编程—游标
75 0
|
SQL 程序员
【Sql Server】创建临时表和遍历临时表以及判断临时表是否存在
在实际项目开发中,临时表的作用还是很大的 特别是在处理一些复杂逻辑的时候,临时表就发挥很大作用,比如:将旧系统表数据迁移到新系统新数据里,就需要中间表来进行更新,临时表就是最佳选择
510 0
【Sql Server】创建临时表和遍历临时表以及判断临时表是否存在
|
存储 SQL 安全
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例
|
存储 SQL 程序员
【Sql Server】 使用游标循环记录更新字段值
使用游标循环记录更新字段值
326 0
【Sql Server】 使用游标循环记录更新字段值