从Excel导入/更新数据到SQL Server
我正在将数据库从Excel转换到MS SQL服务器,基本上是无能为力。
Excel文件具有GroupID,Name,Members,Remarks的列标题
SQL表具有相同的字段。
当我更新SQL时,一些logging是全新的,所以需要追加,其他人需要更新一列或两列,而大多数logging完全不需要。 到目前为止,我已经采取了懒惰的方式和截断文件和附加的一切,但什么是正确的方法?
导入文件作为一个单独的表,你可以从那里做所有的更新。 根据您的SQL服务器版本,您可以使用MERGE语句。 敲开一个插入和一个更新语句不应该花太长的时间。
像这样的更新:
UPDATE o SET name = i.name FROM originaltablename o INNER JOIN importedexceltablename i ON o.GroupID = i.GroupID WHERE o.name <> i.name
而像这样的插入:
INSERT INTO originaltablename SELECT i.* FROM importedexceltablename i LEFT JOIN originaltablename o ON o.GroupID = i.GroupID WHERE o.GroupID IS NULL
但要小心,这只是一个例子,因为你没有给出足够的信息来解决问题。