0
我有一個包含用戶信息的CSV文件,說Update或CSV文件插入到SQL Server
first_name;last_name;user_id;full_name
列分隔符是;
,行終止是\n
。
我需要做的是插入或更新到users
表。唯一的關鍵是user_id
:如果與此user_id
記錄已存在,我需要更新,如果它不需要插入。
但是,有一些問題阻止我使用管理工作室數據導入或bulk insert
。
首先,users
表中有更多字段(不僅僅是4),並且csv
文件中列的順序不對應表中列的順序。所以我需要能夠指定文件中的哪一列到達表中的哪一列。
其次,需要填寫一些額外的字段。例如,users.email = users.user_id
。這是另一個障礙 - 雖然對於新插入的行users.email = users.user_id
有可能users.email
將來會改變,所以我不能只插入user_id
然後運行update [users] set [email] = [user_id]
。
你試圖使用導入數據嚮導?聽起來像您可能需要兩個階段的過程 – RoughPlace
您可以做的一件事是將所有數據導入臨時表,並使用新的臨時表將「插入/更新」到目標表中。也看看[這個](http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma -delimited-file-into-sql-server /)和[this](http://stackoverflow.com/questions/10418461/how-to-create-and-populate-a-table-in-a-single-step -as-csv-import-oper)文章 –
@Yakyb在導入數據嚮導中我無法填寫其他字段。或者我可以嗎? – xaxa