ODI知识模块--IKM Oracle Incremental Update

转自:http://blog.sina.com.cn/s/blog_7e04e0d0010111p2.html

IKM Oracle Incremental Update的对于加载进来的数据提供了四种探测处理策略:

1、MINUS:

简单描述:

1)创建临时表I$_t1使用minus()函数,将目标表中不存在的所有数据load到该表中,其中包含所有要检验的字段,标志位:IND_UPDATE字段标志位“I”;

2)修改表I$_t1,将通过id_key匹配到目标表的,需要修改的数据的标志位:IND_UPDATE字段标志位“U”;

3)修改目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“U”的数据;

4)插入目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“I”的数据;

2、NOT_EXISTS

简单描述:

1)创建临时表I$_t1,通过使用where not exists加载到不存在或者需要修改的数据,标志位:IND_UPDATE字段标志位“I”;

2)修改临时表I$_t1,将通过id_key匹配到目标表的,需要修改的数据的标志位:IND_UPDATE字段为“U”;

3)修改目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“U”的数据;

4)插入目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“I”的数据;

3、POST_FLOW

1)创建临时表I$_t1,加载所有的数据,标志位:IND_UPDATE字段标志位“I”;

2)修改临时表I$_t1,将通过id_key匹配到目标表的,需要修改的数据的标志位:IND_UPDATE字段为“U”;

3)修改临时表I$_t1,将通过id_key匹配到目标表的,完全相同的数据的标志位:IND_UPDATE字段为“N”;

4)修改目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“U”的数据;

5)插入目标表中的id_key在I$_t1中,且标志位IND_UPDATE字段为“I”的数据;

4、NONE

1)创建临时表I$_t1,加载所有的数据,标志位:IND_UPDATE字段标志位“I”;

2)修改目标表中的id_key在I$_t1中存在的数据;

3)插入目标表中的id_key在I$_t1中不存在的数据;


你可能感兴趣的:(Oracle)