导入和导出向导SQL Server 2012

时间:2016-08-15 13:07:20

标签: sql sql-server-2012

SQL Server的导入/导出向导是否有允许我执行以下操作的功能?如果是这样,我该怎么办呢......

+---------+-------------+----------+------+
|  Name   | Description | Delivery | Cost |
+---------+-------------+----------+------+
| dfdsf   | dfgdfgdf    |       34 |      |
| sdfsdgf | dfgdfgdf    |      324 |      |
| dfg     | dfgdfgdf    |       23 |      |
| dfgfdg  | gdf         |       43 |      |
| dfgdfg  | gdf         |       23 |      |
| fdgfdg  | fgd         |      443 |      |
+---------+-------------+----------+------+


+---------+-------------+----------+------+
|  Name   | Description | Delivery | Cost |
+---------+-------------+----------+------+
| dfdsf   | dfgdfgdf    |       34 |      |
| sdfsdgf | dfgdfgdf    |      324 |      |
| dfg     | dfgdfgdf    |       23 |      |
| dfgfdg  | gdf         |       43 |      |
| dfgdfg  | gdf         |       23 |      |
| fdgfdg  | fgd         |      443 |      |
|         |             |          |  324 |
|         |             |          |  324 |
|         |             |          |  234 |
|         |             |          |  234 |
|         |             |          |   23 |
|         |             |          |  423 |
+---------+-------------+----------+------+

所以我有上表:

  • 我想从平面文件中添加费用列(CSV源,在Excel上制作)。
  • 我可以在向导上执行此操作而不删除其他数据 - 我在向导上尝试了多个不同的选项,但我似乎继续删除数据或添加的数据创建另一组行,所以它看起来像底部表

我在这个桌子上有一个主键,我已经设置为自动增加1 - 我也有外键,但我必须暂时删除关系,以便让我甚至可以将数据放到桌面上。

抱歉,格式不明确 - 顶部表格代表我的表格,下表格显示输入数据时会发生什么 - 我想要的是与旧数据对齐的费用列。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果要更新表中的现有记录,则需要能够识别表中行与CSV文件中行之间的关系。

要更新现有表中的行,请将CSV文件导入单独的表中。然后运行如下所示的UPDATE语句,用新表中的数据更新现有表中的行。

UPDATE T
SET T.Cost = S.Cost
FROM dbo.MyTable AS T
    JOIN dbo.CsvInput AS S
        ON T.ID = S.ID