当前位置: 代码迷 >> SQL >> SQL——使用游标进展遍历
  详细解决方案

SQL——使用游标进展遍历

热度:38   发布时间:2016-05-05 10:42:14.0
SQL——使用游标进行遍历



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


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



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


                

USE LoadTest2010CREATE TABLE testCursor /*创建测试表*/(	id INT,	name VARCHAR(50))--插入测试数据INSERT INTO testCursor VALUES(1,'lhc')INSERT INTO testCursor VALUES(2,'jay')


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


           

--首先定义临时存储数据的变量,以供游标移动时当作Temp用DECLARE @id INTDECLARE @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 [email protected]   --这里进行相应的处理,可以根据需要填入SQL语句	FETCH NEXT FROM cursorTest INTO @id,@name --将游标向下移动一行END--关闭游标CLOSE cursorTestDEALLOCATE cursorTest

      

          完成之后,执行一下:


                

            



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













                       

  相关解决方案