SQL——使用游标进行遍历

简介:          前两天一个同事大叔问了这样一个问题,他要对表做个类似foreach的效果,问我怎么搞,我想了想,就拿游标回答他,当时其实也没用过数据库中的游标,但是以前用过ADO里面的,感觉应该差不多。



         前两天一个同事大叔问了这样一个问题,他要对表做个类似foreach的效果,问我怎么搞,我想了想,就拿游标回答他,当时其实也没用过数据库中的游标,但是以前用过ADO里面的,感觉应该差不多。


        今天闲下来,百度下,做了个关于游标的小DEMO:



            首先,让我们先来建张测试表:


                

USE LoadTest2010

CREATE TABLE testCursor /*创建测试表*/
(

	id INT,
	name VARCHAR(50)

)

--插入测试数据
INSERT INTO testCursor VALUES(1,'lhc')
INSERT INTO testCursor VALUES(2,'jay')


        接着,我们使用游标对这张表进行一个循环的操作:


           

--首先定义临时存储数据的变量,以供游标移动时当作Temp用
DECLARE @id INT
DECLARE @name VARCHAR(50)

DECLARE cursorTest CURSOR FOR --定义游标
	SELECT * FROM testCursor  --定义使用游标的表

OPEN cursorTest  --打开游标


FETCH NEXT FROM cursorTest INTO @id,@name --将游标向下移动一行,获取的数据放入之前定义的变量中

WHILE @@FETCH_STATUS=0 --判断是否成功获取数据

BEGIN 
	UPDATE testCursor SET name=name+'1'
	WHERE id=@id   --这里进行相应的处理,可以根据需要填入SQL语句
	FETCH NEXT FROM cursorTest INTO @id,@name --将游标向下移动一行
END

--关闭游标
CLOSE cursorTest
DEALLOCATE cursorTest

      

          完成之后,执行一下:


                

            



        发现我们想要的循环效果出现了。。。。嘿嘿~~~













                       

目录
相关文章
|
6天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
3月前
|
SQL 存储 Perl
PL/SQL的游标
PL/SQL的游标
26 2
|
4月前
|
存储 SQL Oracle
|
5月前
|
SQL
sql游标的使用
sql游标的使用
21 0
|
8月前
|
SQL
sql server 游标的使用
sql server 游标的使用
40 0
|
9月前
|
SQL 存储 数据库
SQL Server—游标(是什么?声明、打开、检索、关闭、释放)
是一种数据访问机制,它允许用户单独的操作数据行,而不是对整个行集进行操作。用户可以通过单独处理每一行逐条手机信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出
|
10月前
|
SQL 缓存 监控
为什么Oracle中包含绑定变量的SQL会有多个游标?(译文)
为了改进包含绑定变量的SQL的执行计划,Oracle在11g版本中引入了一项名为自适应游标共享(ACS,Adaptive Cursor Sharing)的新功能。
107 0
|
11月前
|
SQL 存储 Oracle
PL/SQL编程—游标
PL/SQL编程—游标
76 0
|
SQL 程序员
【Sql Server】创建临时表和遍历临时表以及判断临时表是否存在
在实际项目开发中,临时表的作用还是很大的 特别是在处理一些复杂逻辑的时候,临时表就发挥很大作用,比如:将旧系统表数据迁移到新系统新数据里,就需要中间表来进行更新,临时表就是最佳选择
520 0
【Sql Server】创建临时表和遍历临时表以及判断临时表是否存在
|
存储 SQL 安全
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例