带有文本文件的SQL Server Update表列

时间:2012-11-14 23:58:21

标签: sql-server

以下是数据库中的表存储:

 ID     Age     SectionID
 111    29       NULL
 100    30       NULL

使用文本文件更新Column Age(参见下面的示例数据)

 ID     Age     SectionID
 111    29       231
 100    30       456

文本文件没有列名。 我厌倦了使用导入向导,但似乎又将所有列添加到表中。我只需要将SectionID列添加到表中。任何人都可以告诉我如何选择设置来实现这一目标吗?感谢!!!!!!

1 个答案:

答案 0 :(得分:2)

您可以使用BULK INSERT将数据插入临时表,执行UPDATE并删除临时表。

示例:

CREATE TABLE #TEMP (
  ID INT,
  Age INT,
  SectionID INT)
GO

BULK INSERT #TEMP
FROM 'HereGoesYourFileName'
WITH
 (
    FIELDTERMINATOR =' ',
    ROWTERMINATOR = '\n'
  )    
GO

UPDATE ot
SET ot.SectionID = t.SectionID
FROM OriginalTable ot JOIN #TEMP t ON ot.ID = t.ID
GO

DROP TABLE #TEMP
GO