CREATE OR REPLACE PROCEDURE LIMPEZA_TABTEMP_INFLIGHTOR
AS
BEGIN
   /*Limpa LISTA, lista de valores generica do sistema*/
   DELETE FROM LISTA WHERE DTULTATULIST < TRUNC(SYSDATE - 1);
   /*Limpa LISTAERROS, lista de erros de procedure*/
   DELETE FROM LISTAERROS WHERE DTINCLUSAO < TRUNC(SYSDATE - 1);
   /*Limpa ANALISERECM, temporaria auxiliar para a recursividade de receitas*/
   COMMIT;
   DELETE FROM ANALISERECM WHERE DTGERACAO < TRUNC(SYSDATE - 1);
   /*Limpa ANALISERECMPROD, temporaria auxiliar para a recursividade de receitas*/
   DELETE FROM ANALISERECMPROD WHERE DTGERACAO < TRUNC(SYSDATE - 1);
   /*Limpa ANALISERECMCUSTO, temporaria auxiliar para a recursividade de receitas*/   
   DELETE FROM ANALISERECMCUSTO WHERE DTGERACAO < TRUNC(SYSDATE - 1);
   /*Limpa ERROSIMULAPLAVOO, temporaria auxiliar para a simulacao de planos de voo*/
   DELETE FROM ERROSIMULAPLAVOO WHERE DTINCLUSAO < TRUNC(SYSDATE - 1);
   /*Limpa COMPARATIVOPLAREALINF, temporaria auxiliar para a simulacao de planos de voo*/
   DELETE FROM COMPARATIVOPLAREALINF WHERE DTINCLUSAO < TRUNC(SYSDATE - 1);
   COMMIT;
END;
/

DECLARE
  V_JOB NUMBER;
BEGIN
  FOR C_JOBS IN (SELECT JOB
                   FROM ALL_JOBS
                  WHERE WHAT LIKE '%LIMPEZA_TABTEMP_INFLIGHTOR%') LOOP
    DBMS_JOB.REMOVE(C_JOBS.JOB);
  END LOOP;

  DBMS_JOB.SUBMIT(V_JOB, WHAT => 'BEGIN LIMPEZA_TABTEMP_INFLIGHTOR; END;', 
  NEXT_DATE => TRUNC(SYSDATE + 1), 
  INTERVAL => 'TRUNC(SYSDATE + 1)');
  COMMIT;
END; 
/