如何格式化查询结果 你想怎么格式化法? 将记事本的自动换行取消不行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1) drop procedure File2Tablego/*--实现导出指定表为等宽列的存储过程--邹建 2004.03--*//*--调用示例调用示例--导出指定表,这里指定导出表:sysobjectsexec file2table @tbname='sysobjects',@width=50,@filename='c:\a.txt'--*/create procedure File2Table@dbname sysname='', --数据库,默认为当前数据库@tbname sysname, --要导出的表名@width int=100, --列宽@filename nvarchar(260), --目录名+文件名@servername sysname='', --服务器名@username sysname='', --用户名,如果用NT验证方式,则为空''@password nvarchar(200)='', --密码@fdsplit varchar(10)='\t', --字段分隔符,默认为制表符@rowsplit varchar(10)='\n' --记录分隔符,默认为回车符asdeclare @fd varchar(8000),@s nvarchar(4000)if isnull(@dbname,'')='' set @dbname=db_name()select @s='select @fd=@fd+'',cast([''+name+''] as char(' +cast(@width as varchar)+'))'' from [' +@dbname+']..syscolumns where id=object_id(''' +@tbname+''')' ,@fd=''exec sp_executesql @s,N'@fd varchar(8000) out',@fd outselect @fd='bcp "select '+substring(@fd,2,8000)+' from [' +@dbname+']..['+@tbname+']" queryout "' +@filename+'" /c' +' /S"'+@servername +case when isnull(@username,'')='' then '' else '" /U"'+@username end +'" /P"'+isnull(@password,'')+'"' +' /t"'+@fdsplit+'"' +' /r"'+@rowsplit+'"'print @fdexec master..xp_cmdshell @fdgo 求一条SQL语句在线等 @@@@@@@@@@@@@@SQL语句@@@@@@@@@@@@@@@@@@ 抵制日货华人大签名!!!希望国人都去看看 报料:关于CAST(DECIMAL(9,2) AS BINARY(8))的转换方式。 帮我解决一下数据读取的问题 关于行列转换查询,这个难度太高,搞不定了。。高手快来啊 跨服务器执行SQL深入问题。。在线求教! 批量生成问题(冲值卡) 关于DTS包的制作,求救呀! 如何判断sql安装成功! 求助,如何输出数据库的使用空间和数据量的情况!急!! 關於數據庫設計的問題!
drop procedure File2Table
go/*--实现导出指定表为等宽列的存储过程--邹建 2004.03--*//*--调用示例调用示例--导出指定表,这里指定导出表:sysobjects
exec file2table @tbname='sysobjects',@width=50,@filename='c:\a.txt'--*/
create procedure File2Table
@dbname sysname='', --数据库,默认为当前数据库
@tbname sysname, --要导出的表名
@width int=100, --列宽
@filename nvarchar(260), --目录名+文件名
@servername sysname='', --服务器名
@username sysname='', --用户名,如果用NT验证方式,则为空''
@password nvarchar(200)='', --密码
@fdsplit varchar(10)='\t', --字段分隔符,默认为制表符
@rowsplit varchar(10)='\n' --记录分隔符,默认为回车符
as
declare @fd varchar(8000),@s nvarchar(4000)if isnull(@dbname,'')='' set @dbname=db_name()
select @s='select @fd=@fd+'',cast([''+name+''] as char('
+cast(@width as varchar)+'))'' from ['
+@dbname+']..syscolumns where id=object_id('''
+@tbname+''')'
,@fd=''
exec sp_executesql @s,N'@fd varchar(8000) out',@fd outselect @fd='bcp "select '+substring(@fd,2,8000)+' from ['
+@dbname+']..['+@tbname+']" queryout "'
+@filename+'" /c' +' /S"'+@servername
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')+'"'
+' /t"'+@fdsplit+'"'
+' /r"'+@rowsplit+'"'
print @fd
exec master..xp_cmdshell @fd
go