Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle 11g - loop FOR que insere apenas dias da semana em uma tabela?


Você sempre pode verificar o dia da semana antes de inserir a linha (os nomes dos dias da semana dependerão de suas configurações de NLS, portanto, essa não é a solução mais robusta possível)
 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;