存储过程实现多个分类不同计算规则得到对应的分类、月份和款号
该存储过程 PRO_MON_MDCODE 实现多个分类不同计算规则得到对应的分类、月份和款号,其中线下分类的款最早出现时间会在20230101,最晚是当前月份后12月,电商的款取商品维表的23,24,25年商品年份的A款,其他业务分类逻辑('A-线上','B电商公司','C品牌公司')的款最早出现时间会在20230101,晚是当前月份后12月,规则是本年从1月至第1个有值的月份,大于等于1月,小于等于第1个有值月;从第1个有值至第2个有值,大于第1个有值,小于等于第二个有值范围内月;从第2个有值至第3个有值,大于第2个有值,小于等于第3个有值范围内月;......至最后一个有值月,至本年12月,大于最后一个有值月,到12月范围内月。
CREATE OR REPLACE PROCEDURE PRO_MON_MDCODE IS
BEGIN-- 清空目标表EXECUTE IMMEDIATE 'TRUNCATE TABLE DIM_标签';insert into DIM_标签(分类,月份,款号)with dt as (select substr(t.date,1,4) 年,substr(t.date,1,6) 月 from qpms.dim_时间维表 twhere t.date >= 20230101 and t.year <= ADD_MONTHS(sysdate - 1,12)group by substr(t.date,1,4),substr(t.date,1,6) )select '电商' as 分类, dt.月,t.款号 from dt,