sql 游标循环(cursor)
说明
游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
游标是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据。一般复杂的存储过程,都会有游标的出现,他的用处主要有:
定位到结果集中的某一行。
对当前位置的数据进行读写。
可以对结果集中的数据单独操作,而不是整行执行相同的操作。
是面向集合的数据库管理系统和面向行的程序设计之间的桥梁。
参数说明:
使用last等参数时,需要在定义游标时加上scroll ( declare order_cursor scroll cursor )
Frist:结果集的第一行
Prior:当前位置的上一行
Next:当前位置的下一行
Last:最后一行
Absoute n:从游标的第一行开始数,第n行。
Relative n:从当前位置数,第n行。
Into @variable_name[,…] : 将提取到的数据存放到变量variable_name中。
示例
begindeclare @a int,@error int declare @temp intset @a=1set @error=0begin tran --申明事务--申明游标为fiddeclare order_cursor scroll cursor for (select fid from sal_order_test)--打开游标--open order_cursor--FETCH LAST FROM order_cursor--开始循环游标变量--fetch next from order_cursor into @tempwhile @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态--begin --对字段进行更新update sal_order_test set FBILLNO=FBILLNO+'事务' where fid=@tempset @a=@a-1set @error= @error + @@ERROR --记录每次运行sql后是否正确,0正确print convert(varchar,@temp)+'提交成功'fetch next from order_cursor into @temp --转到下一个游标end if @error=0begincommit tran --提交事务endelsebeginrollback tran --回滚事务endclose order_cursor --关闭游标deallocate order_cursor --释放游标
end
go
sql 游标循环(cursor)相关推荐
- sql游标循环结果集
我们知道游标是一种对结果集操作的神器,使用游标,可以很方便的循环结果集,并对结果集进行数据处理. 1.建表 1 CREATE TABLE [dbo].[Student]( 2 [Uid] [INT] ...
- oracle 游标while循环嵌套,oracle游标循环的嵌套
完成批量修改user_tables中的所有表的栏位名(从MS SQL导入过来,发现大小写问题,造成很多麻烦) 存储过程见下: -- Created on 2012/3/14 by FREE decla ...
- SQL 中循环、for循环、游标
我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...
- oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...
1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...
- sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能
sql游标 while SQL While loop and cursor are the most common approach to repeat a statement on conditio ...
- 游标cursor,游标循环和记录变量的定义
1.游标 游标使用分为四步骤. a.声明游标 cursor 游标名(参数1 数据类型[,参数2 数据类型]) b.打开游标 open 游标名[(实际参数1[,实际参数2.........])]: c. ...
- SQL游标(cursor)详细说明及内部循环使用示例
游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...
- sql 游标_SQL基础丨游标
游标 游标是一个重要的概念,提供了一种灵活的操作方式,可以从数据结果集中每次提取一条数据记录进行操作. 在SQL中,游标是一种临时的数据库对象,可以指向存储在数据库中的数据行指针. 示例 -查询her ...
- mysql 存储过程声明式游标_Mysql 存储过程中使用游标循环读取临时表
游标 游标(Cursor)是用于查看或者处理结果集中的数据的一种方法.游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力. 游标的使用方式 定义游标:Declare 游标名称 CURSOR ...
最新文章
- torch.view()
- Linux查看进程和终止进程的技巧
- Linux Shell编程之一循环结构
- 消防给水及消火栓系统技术规范_消防给水及消火栓系统技术规范5.1 消防水泵 习题...
- Unity3d gameObject
- 图片转化为base64编码python版本
- 摩托罗拉里程碑升级Android 2.2刷机知识
- IOS开发中的几种设计模式介绍
- pixel 更新系统
- 题6.12:有一行电文,已按照下面规律翻译成密码: A->Z a->z B->Y b->y C->X c->x即第1个字母编程第26个字母,第i个字母编程第(26-i+1)个字母,非字母字符不变,要求
- 发送短信验证码(天翼开放平台)
- ios本地化_本地化101 iOS与Android
- 如何用Windows自带画图工具将图片设置成透明背景
- 计算机慢的解决方法,几种电脑变慢的解决方法
- (数据库系统)(十一)并发控制
- 揭秘换肤技术:实现系统滚动条换肤功能
- ES6给对象部署Iterator
- Mac重装OS X系统教程
- 问与答——我怎么这么悲催?
- qt socket通信
热门文章
- 计算机桌面壁纸怎样拉伸,win7系统可以做动态壁纸吗-win7旗舰版怎么设置壁纸默认是拉伸状态?...
- HTTPClient模拟登陆人人网
- 【大师教】利用工业机器人四种编程技术来提高生产效率
- .net6下 OpenCvSharp4的Demon
- 基本数据类型与封装数据类型的区别
- 饥荒联机 linux手把手开服教程
- 菜鸟的GAMES图形学笔记 Lecture 6:Rasterization 2 (Antialiasing and Z-Buffering)
- 如何禁用计算机的网络适配器,如何在Windows 10上启用或禁用Wi-Fi和以太网网络适配器...
- stack overflow的 问题
- uCOS-II的任务介绍