if (object_id('proc_temp', 'P') is not null) drop proc proc_temp go create proc proc_temp with recompile as DECLARE @nLine int,@courntNum int ; DECLARE @cur cursor; set @cur = cursor forward_only for SELECT id from BaseDimValue for update of id open @cur; set @nLine = 0; set @courntNum = (select count(*) from BaseDimValue); fetch next from @cur ; while @nLine <=@courntNum --@@fetch_status = 0 begin set @nLine = @nLine + 1; update BaseDimValue set id = @nLine where current of @cur; print 'ID值为'+ convert(varchar, @nLine); fetch next from @cur ; end close @cur; set @nLine = 0; deallocate @cur; go exec proc_temp ;
1.定义一个标准游标:
declare mycursor cursor for select * from yuangong
2.定义一个只读游标:
declare mycursor cursor for select * from yuangong for read only
3.定义一个可写游标:
declare mycursor1 cursor for select * from yuangong for update of
姓名,性别,年龄,基本工资,奖金,所得税,应发工资
注: scroll 只能对只读游标起作用
游标定义 请参照 http://www.cnblogs.com/Dlonghow/archive/2009/05/14/1456910.html