DELETE FROM Z_REPORT_DATE_TIME INSERT INTO Z_REPORT_DATE_TIME (SITE,DATE_TIME,START_DATE_TIME,END_DATE_TIME) SELECT #{reportDateTime.site, jdbcType=NVARCHAR}, #{reportDateTime.dateTime, jdbcType=NVARCHAR}, #{reportDateTime.startDateTime, jdbcType=DATE}, #{reportDateTime.endDateTime, jdbcType=DATE} FROM DUAL INSERT INTO Z_REPORT_DATE_TIME SELECT '1000' ,TO_CHAR(TO_DATE(#{startFromDate},'YYYY-MM-DD') + ROWNUM -1, 'YYYY-MM-DD') DATE_TIME, TO_DATE(#{startFromDate} || '00:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 AM_START_DATE_TIME, TO_DATE(#{startFromDate} || '04:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 AM_END_DATE_TIME, TO_DATE(#{startFromDate} || '05:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 PM_START_DATE_TIME , TO_DATE(#{startFromDate} || '09:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 PM_END_DATE_TIME FROM dual CONNECT BY rownum <= to_date( #{startToDate}, 'yyyy-mm-dd') - to_date( #{startFromDate}, 'yyyy-mm-dd') + 1