从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 

但要小心,这只是一个例子,因为你没有给出足够的信息来解决问题。