Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle 11g - Ciclo FOR che inserisce solo i giorni feriali in una tabella?

Puoi sempre controllare il giorno della settimana prima di inserire la riga (i nomi dei giorni della settimana dipenderanno dalle tue impostazioni NLS quindi questa non è la soluzione più solida possibile)

 BEGIN
  FOR i IN 1..365 LOOP
    IF( to_char(sysdate-1+i,'fmDAY') NOT IN ('SATURDAY', 'SUNDAY') )
    THEN
      INSERT INTO MY_TABLE (ID, MY_DATE)
        VALUES (i, (to_date(sysdate,'DD-MON-YY')-1)+i);
    END IF;
  END LOOP;
 END;