我需要在查询级别设计这个是否可以对表中的版本、已删除、标志列进行。
src_emp----> 源表
empno,ename,sal
1 ,aaa ,1000
2 ,bbb ,2000
3 ,ccc ,3000
首先加载目标表 trg_emp 输出如下所示
empkey,empno,ename,sal ,version,flag,deleted
1 ,1 ,aaa ,1000 ,1 ,Y ,N
2 ,2 ,bbb ,2000 ,1 ,Y ,N
3 ,3 ,ccc ,3000 ,1 ,Y ,N
现在这样做之后,我会将empno = 3的工资更改为sal = 4000然后更新我的目标表后看起来像
empkey,empno,ename,sal ,version,flag,deleted
1 ,1 ,aaa ,1000 ,1 ,Y ,N
2 ,2 ,bbb ,2000 ,1 ,Y ,N
3 ,3 ,ccc ,3000 ,1 ,N ,N
4 ,3 ,ccc ,4000 ,2 ,Y ,N
上面您可以观察到 empno=3 的版本增加到 2,最后一行的标志已更改为“Y”,前一行为“N”,用于 empno=3在源中删除,则该标志必须变为“Y”假设如果我在源表中删除 empno=2,那么我的最终目标表应如下所示
empkey,empno,ename,sal,version,flag,deleted
1,1,aaa,1000,1,Y,N
2,2,bbb,2000,1,Y,Y
3,3,ccc,3000,1,N,N
4,3,ccc,4000,2,Y,N
在目标表中,第二行标志必须将已删除标志值更新为“Y”。