我有一个非常简单的问题,仅使用表中尚未包含的数据填充数据库的方法之一是什么?
我目前正在尝试实现一个项目,该项目从 SharePoint 列表中获取数据并将其存储在我的 DataWarehouse 上的表中,我必须意识到,如果多次运行,它会一直用它已经拥有的数据填充表!
我有一个非常简单的问题,仅使用表中尚未包含的数据填充数据库的方法之一是什么?
我目前正在尝试实现一个项目,该项目从 SharePoint 列表中获取数据并将其存储在我的 DataWarehouse 上的表中,我必须意识到,如果多次运行,它会一直用它已经拥有的数据填充表!
在您的源和目标之间,您想要评估目标中是否存在匹配项(并可能确定值之间是否发生了变化)。
您正在寻找的 SSIS 工具是Lookup Transformation。更一般地说,您正在执行增量负载,Andy Leonard 有一个很棒的系列,称为集成服务的阶梯,其中涵盖了如何根据您的需要在基本到复杂的级别上处理这个问题。
用简单的英语,您需要这样的查询:
insert into mytable
(fields)
select values
where they are not already in the table
有几种方法可以做到这一点。这里有一对
where (select count(*)
from mytable
where whatever) = 0
where not exists
(subquery goes here)
where somefield in
(select somefield from staging_table
except
select somefield from mytable)