今天一定要把这2个东东给摆平,都弄了我好久了,实在纳闷!
这样吧,比如表A有字段a,b,c,d,e。
88.TXT文本格式内容是(分隔符是tab)
a c d
1 2 3
2 3 4
4 5 6
我现在要把txt文档的内容插入到表A。
运行结果:
a b c d e
1 null 2 3 null
2 null 3 4 null
4 null 5 6 null数据库用的是SQL SERVER2000
1、不管用什么方法,只用一条SQL语句能实现不?
2、数量比较多,用insert into和bulk insert是否可以实现,哪个效率比较高?如果可以实现,具体代码写出来。
这样吧,比如表A有字段a,b,c,d,e。
88.TXT文本格式内容是(分隔符是tab)
a c d
1 2 3
2 3 4
4 5 6
我现在要把txt文档的内容插入到表A。
运行结果:
a b c d e
1 null 2 3 null
2 null 3 4 null
4 null 5 6 null数据库用的是SQL SERVER2000
1、不管用什么方法,只用一条SQL语句能实现不?
2、数量比较多,用insert into和bulk insert是否可以实现,哪个效率比较高?如果可以实现,具体代码写出来。
如何使用BCP导出格式文件 BCP不仅可以根据表、视图导入导出数据,还可以配合格式文件对导入导出数据进行限制。格式文件以纯文本文件形式存在,分为一般格式和xml格式。用户可以手工编写格式文件,也可以通过BCP命令根据表、视图自动生成格式文件。 EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format1.fmt -c -T' 上述命令将currency表的结构生成了一个格式文件currency_format1.fmt,下面是这个格式文件的内容。 9.0
3
1 SQLCHAR 0 6 "\t" 1 CurrencyCode SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 24 "\r\n" 3 ModifiedDate 这个格式文件记录了这个表的字段(共3个字段)类型、长度、字符和行分割符和字段名等信息。 BCP还可以通过-x选项生成xml格式的格式文件。 EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format2.fmt -x -c -T'
xml格式文件所描述的内容和普通格式文件所描述的内容完全一样,只是格式不同。
go
create table #(a varchar(10),c varchar(10),d varchar(10))
bulk insert #
from 'E:\Test.txt'
with(
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n' )
insert ta(a,c,d)select * from #
3
1 SQLCHAR 0 20 "," 2 userName Chinese_PRC_CI_AS
2 SQLCHAR 0 100 "," 4 address Chinese_PRC_CI_AS
3 SQLCHAR 0 20 "\r\n" 5 phone ""
G:\test.txtuserName,address,phone
hua,湖南,5971898--SQL SERVER
--建表
CREATE TABLE userinfo(id int identity,userName varchar(20),
pass varchar(20),address varchar(100),phone varchar(20),
email varchar(128),registerTime datetime)--导入
BULK INSERT userinfo
FROM 'G:\test.txt'
WITH
(
FORMATFILE = 'G:\format.fmt',
FIRSTROW = 2
)
--查看数据
SELECT * FROM userinfo;/*
id userName pass address phone email registerTime
----------- --------- ---------- ----------- ---------- ---------- -------------
1 hua NULL 湖南 5971898 NULL NULL(1 行受影响)
*/