本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
阿里云开发者社区用户服务协议
》和
《
阿里云开发者社区知识产权保护指引
》。如果您发现本社区中有涉嫌抄袭的内容,填写
侵权投诉表单
进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
--
txt文件分割导入数据库
drop
table
a;
--
Step 1:建表
create
table
a(a1
varchar
(
5
), a2
varchar
(
5
), a3
varchar
(
5
), a4
varchar
(
5
));
--
Step 2:在'C:\'创建一个名为'test.txt'的记事本文件,输入以下内容
a1
|
a2
|
a3
|
a4$$b1
|
b2
|
b3
|
b4$$c1
|
c2
|
c3
|
c4$$
--
Setp 3:导入数据:[MRM20090721]是数据库名,[dbo]是对象名, [a]是表名
BULK
INSERT
[
MRM20090721
]
.
[
dbo
]
.
[
a
]
FROM
'
c:\test.txt
'
WITH
(
FIELDTERMINATOR
=
'
|
'
,
ROWTERMINATOR
=
'
$$
'
)
select
*
from
a;
--
------------------------
a1 a2 a3 a4
b1 b2 b3 b4
c1 c2 c3 c4
表A中有5个字段, 分别为金币排名(goldtop)、用户名(username)、时间(time)、金币数(gold)、地区(address)
要求:先清空表A的里的所有数据。 然后,插入本地路径下的一个TXT文本文件的内容。
如路径为:E:\file\aaa.txt 路径通过存储过程参数的形式传递进去。
TXT的文本内容为格式为:148|小明|2009-06-03|10|重庆
TXT的格式和表A的字段相对应,但有“|”符号分割 请各位帮忙把想对应的数据存入到相应的字段。
*/
--
---------------------------------------------------------------
create
table
tb(goldtop
int
,username
varchar
(
10
),
[
time
]
datetime
,gold
int
,address
varchar
(
10
))
go
alter
proc
test
@path
varchar
(
100
)
as
truncate
table
tb
exec
(
'
BULK INSERT tb
FROM
'''
+
@path
+
'''
FIELDTERMINATOR =
''
|
''
,
ROWTERMINATOR =
''
\n
''
)
'
)
go
exec
test
'
d:\1.txt
'
本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/03/1638191.html,如需转载请自行联系原作者