nengdouer - 10/8/2007 5:59:00 PM
我想向各位请教下,异构数据源集成中用SSIS做增量ETL时,这样的情况:
假设在数据源中包含如下两个关系表r1和r2 :ETL逻辑为两个表做连接,取W,X,Y即(1,1,2)
r1: W X 未增加数据前连接取得(1,1,2),增加数据后,因为为增
1 1
r2: X Y 量ETL过程,所以为(1,1,2)和(2,1,3)丢掉了
1 2 (2,1,2)和(1,1,3).。这是怎么处理呢
表改变后为
r1:W X
1 1
2 1
r2: X Y
1 2
1 3
拓狼 - 10/8/2007 7:08:00 PM
我用SSIS的时候比较少,通常都是写代码完成!
你可以先把r1和r2形成的结果集放到一个临时表假设为#T里,然后利用Except关键字来实现这个功能。
假设你要导入的表为R,具体代码如下:
select w,x,y into #T from r1 inner join r2 on r1.x=r2.x
insert into R
select * from #T
except
select * from R
drop table #T
还有一个方法就是:
truncate table R
insert into R select w,x,y from r1 inner join r2 on r1.x=r2.x
m1o2d3a48888 - 5/5/2011 1:50:00 AM
新人报到。。。多多关照 嘻嘻