/*–原帖地址: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′
/*–处理要求
http://www.gaodaima.com/34457.html逐记录导出text/ntext字段值为文本文件_sqlserver
把上述表中的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
欢迎大家阅读《逐记录导出text/ntext字段值为文本文件_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码