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中不存在的数据;