SQL仅从前一天更新

时间:2016-11-15 20:23:36

标签: sql sql-server

我已经加载了TableA中的所有内容,其中TableA有一个名为

的字段
CreatedDate(DateTime)

我只复制了此表的内容,这些内容实际上是有用的。

我不想使用SQL Agent安排作业每晚复制一次这个表,而是想附加数据,只插入添加的任何新数据,或者做一些可能在去年受到影响的更新。

只是想知道最好的方法是考虑到我们已经加载了初始数据但只想每天添加新数据。

我在考虑在where子句中执行以下SQL:

CreatedDate between getdate()-1 and getdate()

这是最好的方法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

这正是SSIS为其构建的那种情况。基本上,您希望每天只加载新数据,而在ETL过程中,这称为incremental load

实现所需结果的最佳方法是创建一个ETL,让它只抓取MaxDateTime>中的数据。 CreatedDate(或ModifiedDate,假设您有该列,并且您希望包含对先前数据的更新)。如果您的CreatedDate在以前的数据被修改时没有改变,那么您需要添加查找和条件拆分来遍历数据。

然后,您将创建一个SQL代理作业以每天运行增量ETL。