zoukankan      html  css  js  c++  java
  • SQL——使用游标进行遍历



             前两天一个同事大叔问了这样一个问题,他要对表做个类似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

          

              完毕之后。运行一下:


                    

                



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













                           

  • 相关阅读:
    POJ 1948 Triangular Pastures
    2018ACM/ICPC 青岛现场赛 E题 Plants vs. Zombies
    三大博弈
    ACM-ICPC 2018年北京网络赛 D-80 days
    hdu 2062 Subset sequence
    转-利用 Python 练习数据挖掘
    内联函数
    C++中冒号(:)和双冒号(::)的用法
    理性,感性和爱
    修改IE8搜索框为指定搜索引擎,如CSDN、百度知道等
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6800438.html
Copyright © 2011-2022 走看看