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

      

          完成之后,执行一下:


                

            



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













                       

目录
相关文章
|
8月前
|
存储 SQL 数据库
数据库sql语句-----游标和存储过程
数据库sql语句-----游标和存储过程
61 1
|
7月前
|
SQL 存储 Java
SQL游标的应用场景及使用方法
SQL游标的应用场景及使用方法
|
6月前
|
SQL 存储 搜索推荐
SQL游标的原理与在数据库操作中的应用
SQL游标的原理与在数据库操作中的应用
|
6月前
|
SQL Java 数据库连接
SQL游标的基本使用方法与示例
SQL游标的基本使用方法与示例
|
6月前
|
SQL 存储 Java
SQL游标的应用场景及使用方法
SQL游标的应用场景及使用方法
|
7月前
|
SQL 程序员 数据处理
探索SQL游标
探索SQL游标
|
7月前
|
存储 SQL 关系型数据库
MySQL游标的创建与使用——Baidu Comate全文SQL-AI生成
MySQL游标的创建与使用——Baidu Comate全文SQL-AI生成
57 0
|
8月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标自定义异常:数据探险家的“专属警示灯”
【4月更文挑战第19天】Oracle PL/SQL中的游标自定义异常是处理数据异常的有效工具,犹如数据探险家的警示灯。通过声明异常名(如`LOW_SALARY_EXCEPTION`)并在满足特定条件(如薪资低于阈值)时使用`RAISE`抛出异常,能灵活应对复杂业务规则。示例代码展示了如何在游标操作中定义和捕获自定义异常,提升代码可读性和维护性,确保在面对数据挑战时能及时响应。掌握自定义异常,让数据管理更从容。
|
8月前
|
SQL Oracle 安全
Oracle的PL/SQL游标异常处理:从“惊涛骇浪”到“风平浪静”
【4月更文挑战第19天】Oracle PL/SQL游标异常处理确保了在数据操作中遇到的问题得以优雅解决,如`NO_DATA_FOUND`或`TOO_MANY_ROWS`等异常。通过使用`EXCEPTION`块捕获并处理这些异常,开发者可以防止程序因游标问题而崩溃。例如,当查询无结果时,可以显示定制的错误信息而不是让程序终止。掌握游标异常处理是成为娴熟的Oracle数据管理员的关键,能保证在复杂的数据环境中稳健运行。
|
8月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL中FOR语句循环游标的奇幻之旅
【4月更文挑战第19天】在Oracle PL/SQL中,FOR语句与游标结合,提供了一种简化数据遍历的高效方法。传统游标处理涉及多个步骤,而FOR循环游标自动处理细节,使代码更简洁、易读。通过示例展示了如何使用FOR循环游标遍历员工表并打印姓名和薪资,对比传统方式,FOR语句不仅简化代码,还因内部优化提升了执行效率。推荐开发者利用这一功能提高工作效率。