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

Como reverter quando ocorre um erro ao executar o comando sql loader?


Você não pode reverter do SQL*Loader, ele confirma automaticamente. Isso é mencionado nos errors descrição do parâmetro:

Em um carregamento de tabela única, o SQL*Loader encerra o carregamento quando os erros excedem esse limite de erro. Qualquer dado inserido até esse ponto, no entanto, é confirmado.

E há uma seção sobre cargas interrompidas.

Você pode tentar carregar os dados para uma tabela de preparo e, se for bem-sucedido, mover os dados para a tabela real (com delete/insert into .. select .. , ou com uma troca de partição se você tiver uma grande quantidade de dados). Ou você pode usar uma tabela externa e fazer a mesma coisa, mas precisaria de uma maneira de determinar se a tabela tinha algum registro descartado ou rejeitado.