txt文件分割导入数据库
--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+'''
WITH
(
FIELDTERMINATOR = ''|'',
ROWTERMINATOR = ''\n''
)
')
go
exec test 'd:\1.txt'