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

王朝mssql·作者佚名  2006-12-17
宽屏版  字体: |||超大  

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

逐记录导出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) --导出的文本文件保存的目录

as

declare @s nvarchar(4000)

if isnull(@path,'')='' set @path='c:\'

else if right(@path,1)<>'\' set @path=@path+'\'

--用游标构建每条记录的bcp导出语句,BCP的语法参考sql联机帮助

declare tb cursor local

for

select 'BCP 'select detail from '

+quotename(db_name())

+'..tb where id='

+quotename(id,N'''')

+'' queryout ''+@path

+id+'.txt' /T /w'

from tb

open tb

fetch tb into @s

while @@fetch_status=0

begin

--调用xp_cmdshell存储过程执行bcp进行导出处理

exec master..xp_cmdshell @s,no_output

fetch tb into @s

end

close tb

deallocate tb

go

--调用

exec p_export 'c:\'

go

--删除测试

drop table tb

drop proc p_export

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有