当前位置:   article > 正文

oracle做拉链,Datastage实现拉链算法

datestage拉链表

TRF是transformer stage,通过change_code将数据分为三类分别对t_chain 进行不同操作。

t_chain_targ1,t_chain_targ2,t_chain_targ3都连接到了t_chain表,为了防止对表的争用,insert array size设置为1

change_code=1或者3的数据条目将插入到t_chain表中;

change_code=3的数据条目将用于更新t_chain表对应的数据条目的END_DATE 字段,将END_DAYE置为to_date(date_id,'yyyymmdd') - 1;

change_code=2的数据条目也将用于更新t_chain表对应的数据条目的END_DATE 字段,将END_DAYE置为to_date(date_id,'yyyymmdd') - 1;

t_chain_targ1完成数据条目的插入

SQL2:

insert into t_chain (name,start_date,end_date,stat)

values(http://www.doczj.com/doc/565332e8856a561252d36f70.html,ORCHESTRATE.start_date,ORCHESTRATE.end_date,O RCHESTRATE.stat);

t_chain_targ2完成数据条目的更新

SQL3:

update t_chain

set end_date = to_date(#cur_date#, 'YYYYMMDD') - 1

where ORCHESTRATE.change_code = 3

and name = trim(http://www.doczj.com/doc/565332e8856a561252d36f70.html)

and end_date = to_date('29991231', 'YYYYMMDD')

and start_date < to_date(#cur_date#, 'yyyymmdd')

t_chain_targ3完成数据条目的更新

SQL4:

update t_chain

set end_date = to_date(#cur_date#, 'YYYYMMDD') - 1

where ORCHESTRATE.change_code = 2

and name = trim(http://www.doczj.com/doc/565332e8856a561252d36f70.html)

and end_date = to_date('29991231', 'YYYYMMDD')

and start_date < to_date(#cur_date#, 'yyyymmdd')

-----------------------------EOF-----------------------------------------

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/755856
推荐阅读
相关标签
  

闽ICP备14008679号