博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日期维表数据生成方法(Oracle方式)
阅读量:4209 次
发布时间:2019-05-26

本文共 943 字,大约阅读时间需要 3 分钟。

通过编写存储过程填充日期维表

这种方法可以生成时间段任意长的日期维表数据。

首先创建日期维表:

create 
table 
DIM_DATE_T
(
  
F_DATE
DATE
,
  
F_YEAR  VARCHAR2(10),
  
F_MONTH VARCHAR2(10),
  
F_DAY   VARCHAR2(10),
  
F_WEEK  VARCHAR2(20)
)

其次创建用于生成数据的存储过程:

create 
or 
replace 
procedure 
fill_dim_date_t_p(start_date
in 
char
, end_date
in 
char
)
as
  
v_counter number := 0;
  
v_max number := 0;
begin
  
execute 
immediate
'truncate table dim_date_t'
;
  
v_max := to_number(TO_DATE(end_date,
'yyyy-mm-dd'
)-TO_DATE(start_date,
'yyyy-mm-dd'
));
  
loop
     
insert 
into 
dim_date_t (F_DATES,F_YEAR,F_MONTH,F_DAY,F_WEEK)
     
values 
(
     
TO_DATE(start_date,
'yyyy-mm-dd'
)+v_counter,
     
to_char(TO_DATE(start_date,
'yyyy-mm-dd'
) + v_counter,
'yyyy'
),
     
to_char(TO_DATE(start_date,
'yyyy-mm-dd'
) + v_counter,
'mm'
),
     
to_char(TO_DATE(start_date,
'yyyy-mm-dd'
) + v_counter,
'dd'
),
     
to_char(TO_DATE(start_date,
'yyyy-mm-dd'
) + v_counter,
'day'
)
     
);
     
exit
when  
v_counter >= v_max;
     
v_counter := v_counter+1;
   
end 
loop;
   
commit
;
end 
fill_dim_date_t_p;

转载地址:http://gzrli.baihongyu.com/

你可能感兴趣的文章
LoadRunner性能脚本开发实战训练
查看>>
测试之途,前途?钱途?图何?
查看>>
测试设计与测试项目实战训练
查看>>
HP Sprinter:敏捷加速器
查看>>
单元测试培训PPT
查看>>
adb常用命令
查看>>
通过LR监控Linux服务器性能
查看>>
通过FTP服务的winsockes录制脚本
查看>>
LRwinsocket协议测试AAA服务器
查看>>
Net远程管理实验
查看>>
反病毒专家谈虚拟机技术 面临两大技术难题
查看>>
几种典型的反病毒技术:特征码技术、覆盖法技术等
查看>>
性能测试一般过程与LR性能测试过程
查看>>
Software Security Testing软件安全测试
查看>>
SQL注入漏洞全接触--进阶篇
查看>>
SQL注入漏洞全接触--高级篇
查看>>
SQL注入法攻击一日通
查看>>
论文浅尝 | 通过共享表示和结构化预测进行事件和事件时序关系的联合抽取
查看>>
论文浅尝 | 融合多粒度信息和外部语言知识的中文关系抽取
查看>>
论文浅尝 | GMNN: Graph Markov Neural Networks
查看>>