Uma técnica alternativa pode ser usar uma tabela externa . Não há necessidade de pegar seu arquivo CSV (ou qualquer outro) e carregá-lo em uma etapa separada. Simplesmente declare sua tabela externa no formato correto (isso é quase idêntico a um parfile SQL*Loader, mas agrupado em uma CREATE TABLEinstrução) e você poderá emitir um SELECTdiretamente contra ela, uma vez que o arquivo esteja no lugar certo. Ele criará arquivos .BADe .LOG, assim como o SQL*Loader, para quaisquer registros que não possam ser convertidos para os tipos de dados na tabela. Você também pode esperar um desempenho melhor . Atualmente, eu consideraria o SQL*Loader apenas para aplicativos herdados.
Você deve ser capaz de executá-lo através do
HOST
comando:Uma técnica alternativa pode ser usar uma tabela externa . Não há necessidade de pegar seu arquivo CSV (ou qualquer outro) e carregá-lo em uma etapa separada. Simplesmente declare sua tabela externa no formato correto (isso é quase idêntico a um parfile SQL*Loader, mas agrupado em uma
CREATE TABLE
instrução) e você poderá emitir umSELECT
diretamente contra ela, uma vez que o arquivo esteja no lugar certo. Ele criará arquivos.BAD
e.LOG
, assim como o SQL*Loader, para quaisquer registros que não possam ser convertidos para os tipos de dados na tabela. Você também pode esperar um desempenho melhor . Atualmente, eu consideraria o SQL*Loader apenas para aplicativos herdados.