有没有办法把一张表里的数据分成几段存到几张不同的新表中?
我有一张表名为 extenddata,有四千条数据,我想分成四十段,每一百条存到一张新表, 名为extenddata01
有这样的处理办法吗?
或者
update Extenddata set oldscode=dbo.f_str(Scode) where .....
where条件里有没有分段的方法?
------解决方案--------------------declare @i int,@max int,@tablename varchar(2)
select ID=identity(int,1,1),* into #temp from Extenddata
order by ???--需要排序就写,不需要就不写
set @max=@@rowcount
set @i=0
while @i <@max
begin
set @tablename=@i/100+1
set @tablename=replicate( '0 ',2-len(@tablename))+@tablename
exec ( 'select top 100 字段列表 into Extenddata '+@tablename+ ' from #temp where ID> '+@i+ ' order by ID ')
set @i=@i+100
end
------解决方案--------------------select *,identity(int,1,1) as aa into #aa from extenddata
declare @i int
set @i=1
declare @sql nvarchar(4000)
while @i*40 <(select max(aa) from #aa)
begin
set @sql= 'select * into extenddata '+right( '00 '+Convert(nvarchar,@i),2) + 'from #aa where aa < '+Convert(nvarchar(10),@i*40)
exec (@sql)
set @i=@i+1
end
------解决方案--------------------給這個表再加一個字段,數據為從1遞增的。
然後逐次分段查詢插入新的表中去