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 ;
[size=x-small]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 只能对只读游标起作用[/size]
游标定义 请参照 [url]http://www.cnblogs.com/Dlonghow/archive/2009/05/14/1456910.html[/url]