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)));