我正在将数据库从Excel转换为MS SQL服务器,我基本上一无所知。
Excel文件的列标题为 GroupID,名称,成员,备注
SQL表具有相同的字段。
当我更新SQL时,某些记录是全新的,因此需要附加,其他需要更新一列或两列,而大多数记录根本不需要任何记录。到目前为止,我已经采取了懒惰的方式&截断文件&重新插入所有内容,但正确方式是什么?
答案 0 :(得分:5)
将文件作为单独的表导入,您可以从那里执行所有更新。根据您的SQL Server版本,您可以使用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
但要小心,这只是一个让你前进的例子,因为你没有提供足够的信息来找到合适的解决方案。