需要迁移表单

1、打卡记录 CT_BIL_CardRecord

 -- 检查最早的日期数据:结果为2019-01-01,--无需迁移(历史迁移过)
 select min(FBizDate) from CT_BIL_CardRecord
表名现有数量(至今)迁移数量(20190101之前)
CT_BIL_CardRecord15,899,5410






数据分布如下:

年份数量
20194182652
20203267096
20213333207
20223722723
20231393843
202520

执行记录:
 --打卡记录
 select * from CT_BIL_CardRecord where to_char(FBizDate,'yyyy') < '2021'
 ​
 -- 备份打卡记录2019年数据
 create table CT_BIL_CardRecord_his_2019 as select * from CT_BIL_CardRecord where to_char(FBizDate,'yyyy') = '2019';
 -- 备份打卡记录2020年数据
 create table CT_BIL_CardRecord_his_2020 as select * from CT_BIL_CardRecord where to_char(FBizDate,'yyyy') = '2020';
 ​
 -- 4182652
 select count(*) from  CT_BIL_CardRecord_his_2019;
 ​
 --3267096
 select count(*) from  CT_BIL_CardRecord_his_2020;
 ​
 delete from CT_BIL_CardRecord where to_char(FBizDate,'yyyy') = '2019';
 commit;
 delete from CT_BIL_CardRecord where to_char(FBizDate,'yyyy') = '2020';
 commit;


2、请假单 CT_BIL_HolidayBill CT_BIL_HolidayBillEntry

 -- 检查最早的日期数据:结果为2009-01-01
 select min(FBizDate) from CT_BIL_HolidayBill
 ​
 -- 统计需要迁移的数据行数:结果为265111
 select count(*) from CT_BIL_HolidayBill where FBizDate < to_date('2019-01-01','yyyy-MM-dd')
 ​
 -- 检查分录需要迁移的数据行数:562887
 select count(*) from CT_BIL_HolidayBillEntry where fparentid in (
 select fid from CT_BIL_HolidayBill where FBizDate < to_date('2019-01-01','yyyy-MM-dd')
 )
 ​
 -- 检查调整分录需要迁移的数据行数:2715
 select count(*) from CT_BIL_HolidayBillAdjustEntry where fparentid in (
 select fid from CT_BIL_HolidayBill where FBizDate < to_date('2019-01-01','yyyy-MM-dd')
 )

年份数量(单据量,不含分录)
20091
201125
20123
201523327
201654305
201780036
2018107412
201998391
202075472
202182760
202289371
202328464

执行记录:

-- 请假单记录2012年前数据
 create table CT_BIL_HolidayBill_his_2012pre as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') <= '2012';
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_2012pre as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2012pre);
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_2012pre as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2012pre);
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_2012pre);
 commit;
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_2012pre);
 commit;
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2012pre);
 commit;
 ​
 --
 ​
 -- 请假单记录2015年数据
 create table CT_BIL_HolidayBill_his_2015 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2015';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2015 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2015);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2015 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2015);commit;
 ​
 select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2015
 union all 
 select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2015
 union all 
 select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2015;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2015);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2015);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2015);commit;
 ​
 ​
 ​
 -- 请假单记录2016年前数据
 create table CT_BIL_HolidayBill_his_2016 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2016';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2016 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2016);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2016 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2016);commit;
 ​
 select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2016
 union all 
 select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2016
 union all 
 select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2016;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2016);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2016);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2016);commit;
 ​
 ​
 ​
 ​
 -- 请假单记录2017年前数据
 create table CT_BIL_HolidayBill_his_2017 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2017';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2017 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2017);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2017 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2017);commit;
 ​
 --select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2017
 --union all 
 --select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2017
 --union all 
 --select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2017;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2017);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2017);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2017);commit;
 ​
 ​
 ​
 ​
 -- 请假单记录2018年前数据
 create table CT_BIL_HolidayBill_his_2018 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2018';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2018 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2018);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2018 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2018);commit;
 ​
 --select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2018
 --union all 
 --select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2018
 --union all 
 --select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2018;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2018);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2018);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2018);commit;
 ​
 ​
 ​
 ​
 -- 请假单记录2019年前数据
 create table CT_BIL_HolidayBill_his_2019 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2019';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2019 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2019);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2019 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2019);commit;
 ​
 --select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2019
 --union all 
 --select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2019
 --union all 
 --select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2019;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2019);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2019);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2019);commit;
 ​
 ​
 ​
 -- 请假单记录2020年前数据
 create table CT_BIL_HolidayBill_his_2020 as select * from CT_BIL_HolidayBill where to_char(FBizDate,'yyyy') = '2020';commit;
 -- 请假单分录
 create table CT_BIL_HolidayBillEntry_his_2020 as select * from CT_BIL_HolidayBillEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2020);commit;
 -- 请假单调整分录
 create table CT_BIL_HolidayBillAdjustEntry_his_2020 as select * from CT_BIL_HolidayBillAdjustEntry where fparentid in(select fid from CT_BIL_HolidayBill_his_2020);commit;
 ​
 --select count(*) qty,'请假单' as billName from CT_BIL_HolidayBill_his_2020
 --union all 
 --select count(*) qty,'分录' as billName from CT_BIL_HolidayBillEntry_his_2020
 --union all 
 --select count(*) qty,'调整分录' as billName from CT_BIL_HolidayBillAdjustEntry_his_2020;
 ​
 ​
 -- 删除
 delete from CT_BIL_HolidayBillAdjustEntry where fid in (select fid from CT_BIL_HolidayBillAdjustEntry_his_2020);commit;
 ​
 delete from CT_BIL_HolidayBillEntry where fid in (select fid from CT_BIL_HolidayBillEntry_his_2020);commit;
 ​
 delete from CT_BIL_HolidayBill where fid in (select fid from CT_BIL_HolidayBill_his_2020);commit;

 
 
 ​3、批量请假

 -- 27187
 select count(*) from CT_BIL_BatchHoliday where CFEndDate < to_date('2019-01-01','yyyy-MM-dd')
 ​
 -- 161469
 select count(*) from CT_BIL_BatchHolidayEntry where fparentid in (
 select fid from CT_BIL_BatchHoliday where CFEndDate < to_date('2019-01-01','yyyy-MM-dd')
 )


4、加班单

5、批量考勤

6、考勤明细

 -- 总数:14107882
 select count(*) from CT_BIL_AttenDetail
 -- 20190101之前5793100
 select count(*) from CT_BIL_AttenDetail where FBizDate < to_date('2019-01-01','yyyy-MM-dd')

 

年份数量
20141
2015720444
20161276186
20171647401
20182149068
20192093295
20201830718
20211839663
20222015174
2023535932

执行记录

 -- 考勤明细2015年前数据
 create table CT_BIL_AttenDetail_his_2015pre as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2015';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2015pre;
 ​
 -- 删除
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2015pre);commit;
 ​
 -- 考勤明细2016年数据
 create table CT_BIL_AttenDetail_his_2016 as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2016';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2016;
 ​
 -- 删除
 ​
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2016);commit;
 ​
 ​
 -- 考勤明细2017年数据
 create table CT_BIL_AttenDetail_his_2017 as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2017';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2017;
 ​
 -- 删除
 ​
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2017);commit;
 ​
 -- 考勤明细2018年数据
 create table CT_BIL_AttenDetail_his_2018 as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2018';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2018;
 ​
 -- 删除
 ​
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2018);commit;
 ​
 -- 考勤明细2019年数据
 create table CT_BIL_AttenDetail_his_2019 as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2019';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2019;
 ​
 -- 删除
 ​
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2019);commit;
 ​
 ​
 -- 考勤明细2020年数据
 create table CT_BIL_AttenDetail_his_2020 as select * from CT_BIL_AttenDetail where to_char(FBizDate,'yyyy') = '2020';commit;
 ​
 select count(*) from CT_BIL_AttenDetail_his_2020;
 ​
 -- 删除
 ​
 delete from CT_BIL_AttenDetail where fid in (select fid from CT_BIL_AttenDetail_his_2020);commit;

 

相关的文章



Write a comment…