你電腦裡有裝Excel嗎?
如果有的話
用Excel開啟csv檔後
手動建立一份SQL的update的命令字串
像是C1
="UPDATE [資料表名稱] SET CName = '" & A1 &"' where dataid = '" & B1 & "';"
然後用複製貼上的方式去產生C2以後的所有的update命令
然後再貼到SQL Server去跑一次就好了
第一個想法是 BULK INSERT
也看過同事用excel讀檔後,函式
="SELECT '"&A1&"' AS CName, '"&B1&"' AS dataid UNION ALL"
再貼回SSMS INSERT到TEMP TABLE去UPDATE資料
建議用 BCP api匯入後, 以SELECT INTO 到WORKING TABLE, 再RENAME, 有備份又快速.
平常在用的程式段 供作參考 要先select需要update的資料
public static void UpdateByCmdBuilder(SqlDataAdapter adapter, DataTable olddt, bool doInsert, bool doUpdate, bool doDelete)
{
SqlCommandBuilder b = new SqlCommandBuilder(adapter);
if (doInsert)
adapter.InsertCommand = b.GetInsertCommand();
if (doUpdate)
adapter.UpdateCommand = b.GetUpdateCommand();
if (doDelete)
adapter.DeleteCommand = b.GetDeleteCommand();
adapter.Update(olddt);
}