读书人

有没有办法把一张表里的数据分成几段存

发布时间: 2012-03-13 11:21:12 作者: rapoo

有没有办法把一张表里的数据分成几段存到几张不同的新表中?
我有一张表名为 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增的。
然後逐次分段查插入新的表中去

读书人网 >SQL Server

热点推荐