2016-08-15 114 views
0

SQL Server導入/導出嚮導中是否有一項功能可以執行以下操作?如果是這樣,我怎麼能去了解它...導入導出嚮導SQL Server 2012

之前

+---------+-------------+----------+------+ 
| 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自動增加 - 我也有外鍵,但我必須暫時刪除關係,以便我甚至可以將數據導入到桌子。

抱歉,格式不清楚 - 頂部表格代表我的表格,底部表格顯示輸入數據時發生的情況 - 我想要的是與舊數據對齊的成本列。

任何幫助將不勝感激。

+0

您如何將成本數據與表中現有數據進行匹配?表中的主鍵在CSV文件中是否有匹配的鍵? –

+0

不,我沒有嘗試過 - 我的主表有一個主鍵ID。如果我在Excel中添加主鍵列,會發生什麼情況。 – OneUnited

回答

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 
相關問題