导出ntext数据到文本文件,一条记录一个文件

/*

导出所有ntext数据,每条记录保存成一个文本文件。

比如
id(int)  mydata(ntext)
1
2
3
4
最后把所有mydata中的数据,导出成1.txt,2.txt,……

*/ 

if object_id('table1') is not null drop table table1
create table table1(id int,mydata ntext)
insert table1
select 1, 'abc' union all
select 2, 'def' union all
select 3, 'ghi'

declare @Str varchar(8000)
declare @id varchar(100)
declare @count varchar(100)
select @Str=''
select @count=count(*) from table1
set @id=1
while @id<=@count
  begin
    select @Str=@Str+'exec master..xp_cmdshell ''bcp "select * from abc..table1 where id='+@id+'" queryout c:/'+@id+'.txt -c -q -t, -SDICKY -Usa -Pggs'''+CHAR(10)
    select @id=@id+1
  end
exec(@Str)

drop table table1

--到c:/会看到文件1.txt,2.txt,3.txt

----------------------------------------------------------------------------------------------

--写成存储过程

/*

帮忙写成支持多个参数的存储过程
@tablename varchar(100),表名
@colname varchar(100),列名
@path varchar(100)保存路径
@。。。            其他信息,比如用户名,密码等

*/

create procedure ntextToTxt
@tablename varchar(100),
@colname varchar(100),
@path varchar(100)
as
declare @Str varchar(8000)
declare @id varchar(100)
declare @count varchar(100)
select @Str=''
select @count=count(*) from @tablename
set @id=1
while @id<=@count
  begin
    select @Str=@Str+'exec master..xp_cmdshell ''bcp "select '+@colname+' from bbs..'+@tablename+' where id='+@id+'" queryout '+@path+@id+'.txt -c -q -t, -Smyserver -Usa -Psa'''+CHAR(10)
    select @id=@id+1
  end
exec(@Str)
go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值