T-SQL游标的使用

首先说一下T-SQL中游标的基本格式,在SQL SERVER中查询都是面向整个结果集的,而游标则是面向单行的,不支持多行数据处理

游标的步骤总共分4步:声明游标->打开游标->提取数据->关闭游标

游标的基本写法:

 

--首先我们来声明一个变量

DECLARE @gid UNIQUEIDENTIFIER --用来存放查询出来的单条数据 

 

DECLARE cur CURSOR READ_ONLY FOR   --首先声明一个叫cur的游标

SELECT gid FROM table_name  --要查询的数据

OPEN cur --打开刚刚声明的游标

FETCH NEXT FROM cur INTO @gid --将select的数据放到变量里,这里需要注意字段和变量的顺序,这里支持6种移动选项,分别为到第一行(FIRST),最后一行(LAST),下一行(NEXT),上一行(PRIOR),直接跳到某行(ABSOLUTE(n)),相对于目前跳几行,                        --(RELATIVE(n)),一般使用下一行(NEXT)的情况较多,我们这里使用NEXT的方式

--一般我们习惯结合WHILE和@@FETCH_STATUS(上一次SQL操作影响行数)来操作游标,例如:

WHILE(@@FETCH_STATUS=0)
BEGIN

  --在这里,我们对上面提取的数据进行处理

  --比如,根据唯一标识更新数据

  UPDATE table_name SET text=123 WHERE gid=@gid

  --甚至更复杂的SQL操作等等...

 

  FETCH NEXT FROM cur INTO @gid

END

 

CLOSE cur --关闭游标
DEALLOCATE cur  --释放游标

 

 

就这样,一个游标就轻轻松松写出来啦~

 

本人刚开始写博客不久。。很多不足还请指正

 

posted @ 2013-09-07 00:42  郁枫翎  阅读(191)  评论(0)    收藏  举报