sql 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'

你可能感兴趣的:(sql txt文件分割导入数据库)