sql server查询数据并生成指定大小文件的方法

发布时间:2020-01-25编辑:脚本学堂
sql server查询数据并生成指定大小文件的方法

sql server查询数据并生成指定大小文件的方法,供大家学习参考。
 

复制代码 代码如下:

--调用管理权限
use master
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE

--生成数据文件
declare @sqlstr varchar(3000)
declare @i int
declare @count int

select identity(int,1,1) as id ,email
into testdb.dbo.usersemail
from testdb.dbo.reguser where (year(jointime)='2012') and (email is not null)

set @i=0
set @count= (select COUNT(1) from testdb.dbo.reguser where (year(jointime)='2012') and (email is not null))
while @i*10000<@count
begin
set @sqlstr='bcp "select top 10000 email from testdb.dbo.usersemail  where id>='+cast(@i*10000 as varchar(10))+' and id<'+cast(@i*10000+10000 as varchar(10))+'" queryout "d:2012'+cast(@i as varchar(10))+'.txt" -c -T'
exec master.dbo.xp_cmdshell @sqlstr
set @i=@i+1
end

--删除临时表
drop table testdb.dbo.usersemail

说明
1)、每10000个邮箱保存为一个文本文件。
2)、生成的文件,保存在d:2012目录中。如果想保存在其它地方,请修改d:2012为合适的值。
3)、例子中用到了系统存储过程xp_cmdshell,这个需要数据库管理员账号权限。