sql一共10000条数据每次取一部分数据

2025-03-22 21:35:35
推荐回答(2个)
回答(1):

select top 10000 ROW_NUMBER() over(order by 字段) iid ,* into 表名_temp from 数据库..表名

declare @s int=0,@e int=10000
while (@s<@e)
begin
DECLARE @SQL VARCHAR(MAX)
SET @SQL='xp_cmdshell ''bcp "Select top 1000 * from 数据库..表名 where iid between '+CAST(@s as varchar)+' and '+CAST(@s+1000 as varchar)+' " queryout F:\a_'+CAST(@s as varchar)+'-'+CAST(@s+1000 as varchar)+'.txt -c -T -S"服务器名"'''
exec (@SQL)
set @s=@s+1000
end

望采纳、

回答(2):

最简单就是按Id来排序,这样来取数据