我正在将数据库从 Excel 转换为 MS SQL 服务器,但我基本上一无所知。
Excel 文件的列标题为GroupID、Name、Members、Remarks
SQL 表具有相同的字段。
当我更新 SQL 时,一些记录是全新的,因此需要附加,其他记录需要更新一两列,而大多数记录根本不需要。到目前为止,我已经采取了懒惰的方式并截断了文件并将所有内容重新添加,但是正确的方法是什么?
我正在将数据库从 Excel 转换为 MS SQL 服务器,但我基本上一无所知。
Excel 文件的列标题为GroupID、Name、Members、Remarks
SQL 表具有相同的字段。
当我更新 SQL 时,一些记录是全新的,因此需要附加,其他记录需要更新一两列,而大多数记录根本不需要。到目前为止,我已经采取了懒惰的方式并截断了文件并将所有内容重新添加,但是正确的方法是什么?
将文件作为单独的表导入,您可以从那里进行所有更新。根据您的 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
不过要小心,这只是一个让您继续前进的示例,因为您没有提供足够的信息来找到正确的解决方案。