2013-05-13 28 views
3

我需要从文本文件中获取行并插入表中。该文件的行类似于以下内容:批量从文本文件插入到SQL Server中添加一个唯一标识符或跳过一列

string1 
string2 
string3 
string4 
... 

我的表有2列:

uniqueidentifier, stringValue 

我愿做一个批量插入到表从文本文件抓住每一行和每一给每一个添加一个新的uniqueidentifier(最好是一个GUID,但是一个整数计数器可以)。

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

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

定义uniquedentifier列具有NEWID() – 2013-05-13 02:52:29

回答

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 
+0

的默认这正是我需要的!我将格式文件的建议复制并粘贴到记事本文件中,然后将文件从.txt重命名为.fmt。接下来,我运行了create和create和insert。非常直接!非常感谢你的帮助。 – ter24 2013-05-14 01:19:08

+0

不客气@ ter24。 – Devart 2013-05-14 04:53:24

+0

尽管这是一个非常古老的问题,请问为什么我们需要一个格式文件?我也有同样的问题,并使用您的格式文件为我解决它。 在此先感谢@Devart :) – OmarBizreh 2014-02-14 21:01:15

相关问题