批量从文本文件插入SQL Server,添加uniqueidentifier或跳过列

时间:2013-05-13 02:49:06

标签: sql sql-server bulkinsert

我需要从文本文件中获取行并插入表中。该文件的行类似于以下内容:

string1
string2
string3
string4
...

我的表有两列:

uniqueidentifier, stringValue

我想在表中批量插入文本文件中的每一行,并为每一行添加一个新的uniqueidentifier(理想情况下是一个GUID,但整数计数器就可以了)。

任何人都有关于如何进行批量上传的提示?到目前为止我的SQL是:

BULK
INSERT tableNameToInsertInto
FROM 'C:\importList.txt'
WITH
(
ROWTERMINATOR = '\n'
)
GO

1 个答案:

答案 0 :(得分:3)

试试这个 -

<强>值:

C:\importList.txt ->
string1
string2
string3
string4

格式文件:

C:\importList.fmt ->
11.0
1
1     SQLCHAR     0     100     "\r\n"     1     text     ""

<强>查询:

CREATE TABLE dbo.testBulk 
(
      RowUID UNIQUEIDENTIFIER DEFAULT NEWID()
    , Value VARCHAR(100)
)

INSERT INTO dbo.testBulk (Value)
SELECT c.[text]
FROM OPENROWSET(
    BULK N'C:\importList.txt', 
    FORMATFILE = 'C:\importList.fmt'
) c