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

Interação do bloqueio SELECT FOR UPDATE com cursor e DML em lote


parece que o problema é que você precisa excluir milhões de linhas e, portanto, deseja fazê-lo em baches

se sim, isso pode funcionar para você - ele percorrerá e excluirá linhas e confirmará para que você não fique sem desfazer e não precise se preocupar em bloquear linhas
begin
   loop
      delete from xx where yyy=zzz and rownum < 1000;
      exit when sql%rowcount = 0;
      commit;
   end loop;
   commit;
end;
/