SQL Server - 如何在没有批量插入的情况下将文本文件插入表中

时间:2017-05-16 07:49:24

标签: sql-server insert-into

我想将一个文本文件插入表,不带批量插入命令。

它的脚本是什么?我无法在任何地方找到它。

有一个批量插入的脚本,但我需要进行正常插入。

1 个答案:

答案 0 :(得分:0)

我能想到的唯一方法如下: 文件内容如下:

id,col1,col2
2,A,B
4,A,B

declare @test table (id int,col1 varchar(10),col2 varchar(10))
declare @inter table (op varchar(50))
insert into @inter
exec xp_cmdshell 'type  E:\Data\readit.txt'

insert into @test
select substring(op,0,charindex(',',op)),
            substring(reverse(op),0,charindex(',',reverse(op))),
            replace(replace(replace(op,substring(op,0,charindex(',',op)),''),substring(reverse(op),0,charindex(',',reverse(op))),''),',','')
             from @inter where op <>(select top 1 op from @inter)

select * from @test

结果是:

id  col1    col2
2       B           A
4       B           A

你可以看到它非常复杂,所以你应该使用批量插入