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 |
+---------+-------------+----------+------+
所以我有上表:
我在这个桌子上有一个主键,我已经设置为自动增加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