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

Interazione del blocco SELECT FOR UPDATE con il cursore e DML batch

sembra che il problema sia che devi eliminare milioni di righe e quindi vuoi farlo in bacheche

in tal caso, questo potrebbe funzionare per te:eseguirà il ciclo ed eliminerà le righe e il commit in modo da non rimanere senza annullare e non devi preoccuparti di bloccare le righe

begin
   loop
      delete from xx where yyy=zzz and rownum < 1000;
      exit when sql%rowcount = 0;
      commit;
   end loop;
   commit;
end;
/