当前位置:数据库 > SQLServer >>

逐记录导出text/ntext字段值为文本文件

答案:
/*--原帖地址:http://community.csdn.net/Expert/topic/3851/3851741.xml?temp=.4726831--*/

--测试数据create table tb(id varchar(50) primary key,detail text)insert tb select 'aaa','11111'union all select 'bbb','43424'union all select 'ccc','324234'

/*--处理要求

 把上述表中的detail字段导出为文本文件,要求每条记录一个文件,文件名为id+.txt 即上述表中的数据要求导出为 aaa.txt,bbb.txt,ccc.txt--*/go

--处理的存储过程create proc p_export@path nvarchar(1000)  --导出的文本文件保存的目录asdeclare @s nvarchar(4000)if isnull(@path,'')='' set @path='c:\'else if right(@path,1)<>'\' set @path=@path+'\'

--用游标构建每条记录的bcp导出语句,BCP的语法参考sql联机帮助declare tb cursor localforselect 'BCP "select detail from ' +quotename(db_name()) +'..tb where id=' +quotename(id,N'''') +'" queryout "'+@path +id+'.txt" /T /w'from tbopen tb fetch tb into @swhile @@fetch_status=0begin --调用xp_cmdshell存储过程执行bcp进行导出处理 exec master..xp_cmdshell @s,no_output fetch tb into @sendclose tbdeallocate tbgo

--调用exec p_export 'c:\'go

--删除测试drop table tbdrop proc p_export

上一个:根据当月数据库自动生成下个月数据库--1
下一个:无规律自定义分段的分类汇总+交叉表处理

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,