在做数据仓库项目的过程中,有时候可能也会根据历史拉链表,展开为每天全量表;相当于一个还原的过程,即构建拉链表的反过程。
1、 建表及插入测试数据语句
2、 插入系统维护日期表
主要用来取ROWNUM供第3步操作
3、 实现拉链表展开的代码
4、 总结说明
第3步中,游标的START_DATE、END_DATE要根据实际情况,灵活变通;代码的EXECUTE IMMEDIATE 'TRUNCATE TABLE EDW_T00_ALL';需要不需要,根据实际情况来定;第2步中生成数据日期维护表,主要用来第3步
SELECT V_ID, V_START_DATE + ROWNUM - 1 AS DATA_DATE, V_STATUS
FROM SYS_MATIAN_DATE
WHERE V_START_DATE + ROWNUM - 1 < V_END_DATE;
取数用,目的是保证SYS_MATIAN_DATE表有足够的记录,以使对于每一条历史拉链表中的记录都能取得到;本文给出了我们进行拉链表展开时的一个思路。