游标:declare cursor_insert cursor for select c# from cs
declare @i int
open cursor_insert
fetch cursor_insert into @i
while @@fetch_status=0
begin
print @i
fetch cursor_insert into @i
end
close cursor_insert
deallocate cursor_insert
declare @i int
open cursor_insert
fetch cursor_insert into @i
while @@fetch_status=0
begin
print @i
fetch cursor_insert into @i
end
close cursor_insert
deallocate cursor_insert
as
declare @a varchar(100),@b varchar(100)
select top 0 * into 新表 from 旧表
set @b=''
declare tb cursor for select 可比较的字段 from 旧表
open tb
fetch next from tb into @a
while @@fetch_status=0
begin
if @a>@b
insert into 新表 select * from 旧表 where 可比较的字段=@a
else
update 新表 set 可比较的字段=@a where 可比较的字段=@b
set @b=@a
fetch next from tb into @a
end
close tb
deallocate tb
go
as
declare @colname int
declare @new_colname int
declare my_cursor cursor for select colname from 旧表
open my_cursor
fetch next from my_cursor into @colname
select top 1 id=identity(int,1,1),colname into 新表 from 旧表
while @@fetch_status=0
begin
fetch next from my_cursor into @colname
select top 1 @new_colname=colname from 新表 order by id desc
if(@new_colname>=@colname)
exec('insert into 新表(colname) values('+@colname+')'
else
exec('update 新表 set colname='+@new_colname+' where id=(select max(id) from 新表)'
end
close my_cursor
deallocate my_cursor
alter table 新表 drop column id