生成日期维表的一个SQL语句

insert into d_date
  (date_id, date_desc, year_id, year_desc)
  (select everyday,
          substr(to_char(everyday, 'YYYYMMDD'), 1, 4) || '年' ||
          substr(to_char(everyday, 'YYYYMMDD'), 5, 2) || '月' ||
          substr(to_char(everyday, 'YYYYMMDD'), 7, 2) || '日',
          substr(to_char(everyday, 'YYYYMMDD'), 1, 4),
          substr(to_char(everyday, 'YYYYMMDD'), 1, 4) || '年'
     from (select to_date('20120101', 'yyyymmdd') + level - 1 as everyDay
             from dual
           connect by level <= (last_day(to_date('20120101', 'yyyymmdd')) -
                      to_date('20120101', 'yyyymmdd') + 730)));

你可能感兴趣的:(Oracle技术,BI,数据仓库和数据挖掘)