2013-05-13 57 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

相關問題