1

任务是让 SQL Server 读取 Excel 电子表格,并仅将新条目导入表中。该实体称为Provider

考虑一个这样的 Excel 电子表格:

替代文字

它的目标表是这样的:

替代文字

任务是:

  • 使用 2008 Express 工具集
  • 导入到 SQL Sever 2000 中的现有表中
  • 表中已有数据!有增量的身份是PK。这在另一个表中用作 FK,并进行了引用。
  • 仅从电子表格中导入新行!
  • 忽略电子表格中不存在的行

问题: 如何使用 SQL 2008 工具集(可能的导入和导出向导)来实现这个目标?我怀疑我需要“编写查询以指定要传输的数据”。

问题是我找不到查询,因为该工具将生成进行微调。

替代文字

4

2 回答 2

3

我可能会做的是将 excel 数据批量加载到数据库中的单独临时表中,然后在主表上运行 INSERT 以复制不存在的记录。

例如

INSERT MyRealTable (ID, FirstName, LastName,.....)
SELECT ID, FirstName, LastName,.....
FROM StagingTable s
    LEFT JOIN MyRealTable r ON s.ID = r.ID
WHERE r.ID IS NULL

完成后删除临时表。

于 2010-01-14T17:18:18.053 回答
0

如果需要,您也可以在加载该阶段表之前对其进行一些更新,以对其进行清理。UPDATE SET NAME = RTROM(LTRIM(Name)) FROM YOUR.STAGE.TABlE 例如

于 2010-03-15T19:10:45.050 回答