Bom dia, Outro dia um desenvolver estava querendo deletar 15 milhões de 
registros e estava com problemas. Passei esta rotina para ele e ficou feliz. 
Espero que eu consiga contribuir..
 

 DECLARE
 TYPE myarray IS TABLE OF FACT_.day_cod%TYPE
 INDEX BY BINARY_INTEGER;
 d_array myarray;
 BEGIN
   d_array(1) := 20140531; 
  
   FORALL i IN d_array.FIRST .. d_array.LAST
   DELETE FACT_
   WHERE day_cod = d_array(i);
   COMMIT;
   FOR i IN d_array.FIRST .. d_array.LAST LOOP
     dbms_output.put_line('Iteration #' || i || ' deleted ' ||
     SQL%BULK_ROWCOUNT(i) || ' rows.');
   END LOOP;
 END;

 

 LM
  • Re:... Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]
    • ... alexssandro0...@yahoo.com.br [oracle_br]
      • ... angelo angelolis...@gmail.com [oracle_br]
        • ... Andre Santos andre.psantos...@gmail.com [oracle_br]
          • ... alexssandro0...@yahoo.com.br [oracle_br]
        • ... jlchia...@yahoo.com.br [oracle_br]
        • ... jlchia...@yahoo.com.br [oracle_br]
          • ... Luis Freitas lfreita...@yahoo.com [oracle_br]
          • ... alexssandro0...@yahoo.com.br [oracle_br]
          • ... jlchia...@yahoo.com.br [oracle_br]
          • ... lmarinh...@yahoo.com.br [oracle_br]
          • ... Alessandro Silva xalexsi...@yahoo.com.br [oracle_br]
          • ... jlchia...@yahoo.com.br [oracle_br]
          • ... jlchia...@yahoo.com.br [oracle_br]

Responder a