1.声明游标
DECLARE 游标名 CURSOR SELECT语句(注:此处一定是SELECT语句) 2.打开游标 OPEN 游标名 3.读取游标数据 Fetch [Next | Prior | First | Last | Absolute n | Relative n ] From 游标名 INTO @name1,@name2... WHILE(@@FETCH_STATUS = 0) BEGIN --要执行的SQL语句 FETCH NEXT FROM 游标名 END4.关闭游标
CLOSE 游标名。关闭后不能对游标进行读取等操作,但可以使用OPEN语句再次打开 5.释放游标 DEALLOCATE 游标名。即删除游标,不可再使用
例子:
declare @index int;declare @userId uniqueidentifier;set @index=1;declare user_cur cursor for select UserId from T_User order by CreateTime descopen user_curfetch next from user_cur into @userIdwhile (@@FETCH_STATUS=0)begin update T_User set Sort=@index where UserId=@userId; set @index=@index+1; fetch next from user_cur into @userIdendclose user_cur;deallocate user_cur;
参考链接:http://www.cnblogs.com/youngberry/archive/2009/07/17/1525647.html