ITPub博客

首页 > 数据库 > 数据库开发技术 > -时间维度表导入

-时间维度表导入

原创 数据库开发技术 作者:OmarChina 时间:2007-10-28 21:01:39 0 删除 编辑
应用需求写的玩玩[@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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 调整策略工具
下一篇: rman脚本
请登录后发表评论 登录
全部评论
  • 博文量
    68
  • 访问量
    997204