在SQL中插入日期差距的新记录

时间:2016-03-29 07:42:05

标签: sql oracle

我有一张桌子:

xx_asg

person_no      location        org       mgr_person_no    effective_start_date  eff_end_date    
1               Mumbai        XYZ          101             01-jan-1901          01-jan-1990
1               Mumbai        XYZ          101             01-JAN-1990          31-DEC-4712    
101             Delhi         xyz      201             01-JAN-2005              31-DEC-4712    
5               Delhi         XYZ          1                01-JAN-1901         31-DEC-4712

在此表中,每个人都有一名经理,其人员记录也在此表中。

但是如上所述,有一些情况,例如1号人员的有效开始日期01-jan-1901,但它有一个经理人没有。 101的有效开始日期是2005年1月1日。所以这是无效的,因为从1901年至2005年这位经理不存在。

现在我想为person_no插入一条记录。这个表中的1以这样的方式表示mgr人np。 101从01年1月1日到2004年12月31日被删除,并且有一个person_no.1的新记录 从2005年1月1日到31日 - 47日 - 4712

类似的东西:

person_no      location        org       mgr_person_no    effective_start_date  eff_end_date    
1               Mumbai        XYZ                            01-jan-1901          01-jan-1990
1               Mumbai        XYZ                       01-JAN-1990              31-DEC-2004
1               Mumbai        XYZ          101             01-JAN-2005         31-DEC-4712   
101             Delhi         xyz      201             01-JAN-2005              31-DEC-4712    
5               Delhi         XYZ          1                01-JAN-1901         31-DEC-4712

0 个答案:

没有答案