3

我正在将数据库从 Excel 转换为 MS SQL 服务器,但我基本上一无所知。

Excel 文件的列标题为GroupID、Name、Members、Remarks

SQL 表具有相同的字段。

当我更新 SQL 时,一些记录是全新的,因此需要附加,其他记录需要更新一两列,而大多数记录根本不需要。到目前为止,我已经采取了懒惰的方式并截断了文件并将所有内容重新添加,但是正确的方法是什么?

4

1 回答 1

6

将文件作为单独的表导入,您可以从那里进行所有更新。根据您的 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

不过要小心,这只是一个让您继续前进的示例,因为您没有提供足够的信息来找到正确的解决方案。

于 2013-01-09T17:59:45.083 回答