中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
逐记录导出text/ntext字段值为文本文件
作者:未知 时间:2005-07-27 23:38 出处:CSDN 责编:chinaitpower
              摘要:逐记录导出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


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有