-时间维度表导入

应用需求写的玩玩[@more@]

DECLARE
l_Cnt NUMBER;
l_Time NUMBER := 84;
BEGIN
l_Cnt := 62;

WHILE (l_Cnt < l_Time)
LOOP
EXECUTE IMMEDIATE ' SET TRANSACTION USE ROLLBACK SEGMENT rbs20';
EXECUTE IMMEDIATE ' INSERT /* +APPEND */
INTO dw_mobile_gateway.dim_time nologging
SELECT seq_dw_time.NEXTVAL, Fuudate, To_Char(Fuudate, ''DAY'', ''Nls_Date_Language = American''),
To_Char(Fuudate, ''DAY''), To_Char(Fuudate, ''Ddd''),
To_Char(Fuudate, ''Dd''), To_Char(Fuudate, ''d''), To_Char(Fuudate, ''Ww''),
To_Char(Fuudate, ''Mon'', ''Nls_Date_Language = American''),
To_Char(Fuudate, ''Mon''), To_Char(Fuudate, ''Mm''),
CASE
WHEN To_Char(Fuudate, ''Mm'') <= 6 THEN
1
ELSE
2
END, To_Char(Fuudate, ''yyyy''),
CASE
WHEN To_Char(Fuudate, ''q'') = 1 THEN
''第一季度''
WHEN To_Char(Fuudate, ''q'') = 2 THEN
''第二季度''
WHEN To_Char(Fuudate, ''q'') = 3 THEN
''第三季度''
WHEN To_Char(Fuudate, ''q'') = 4 THEN
''第四季度''
END, To_Char(Fuudate, ''q''), To_Char(Fuudate, ''Hh24''),
To_Char(Fuudate, ''Mi''), To_Char(Fuudate, ''Ss'')
FROM (SELECT DISTINCT add_months(fuudate,:ppp) fuudate FROM full_date )'
USING l_Cnt;
l_Cnt := l_Cnt + 1;
COMMIT;
END LOOP;
END;
/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9925929/viewspace-979146/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9925929/viewspace-979146/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值