Eu não tive ainda essa necessidade, mas sei que : a) é possível se ter múltiplos INTO TABLE
b) position, claro, funciona para registros de tamanho FIXO ** e ** cujas colunas Também tem tamanho FIXOe posição no registro fixa : por definição, se vc tem um delimitador de coluna (o TAB no seu caso), lógico que as colunas podem (e mesmo vão) variar ==> Sendo assim, penso que a sua solução não deve funcionar : http://basicsoforacleappstechnical.blogspot.com.br/2012/04/sql-loaderloading-data-into-multiple.html tem um caso-exemplo de multiple INTOs com colunas delimitadas , no caso com vírgula mas poenso que o princípio deve ser o mesmo para delimitado com TAB ... EVIDENTE : sempre que me cai nas mãos um problema mais complexo de carga, eu dou uma pensada *** CUIDADOSA *** na opção de declarar o arquivo-texto como uma external table e mandar um INSERT INTO destino (select from externaltable), pois aí eu tenho ** TODO O PODER ** do SQL à minha disposição, podendo fazer qque tipo de transformação via funções SQL ou mesmo cláusulas SQL, etc - Inclusive, no SQL eu Já Teria o INSERT ALL para inserir em múltiplaS tabelas num só INSERT .... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "douglashts" <doughts@...> escreveu > > Tenho um arquivo separado por TABS e usarei as informações contidas nele para > alimentar duas tabelas diferentes com o seguinte arquivo de controle: > > > Load Data > INFILE 'Caminho do arquivo de entrada' > BADFILE 'Caminho do arquivo BAD' > APPEND > INTO TABLE TABELA_1 > FIELDS TERMINATED BY X'09' TRAILING NULLCOLS > (ID_TB, > CAMPO_1, > CAMPO_2, > CAMPO_3) > INTO TABLE TABELA_2 > FIELDS TERMINATED BY X'09' TRAILING NULLCOLS > (ID_TB, --Que deve possuir o mesmo valor do ID_TB da TABELA_1, mas apesar de > ter o mesmo nome são campos diferentes em tabelas diferentes > CAMPO_1 > CAMPO_2 > CAMPO_3 > ) > > As linhas do arquivo estão no seguinte formato, com os dados separados por > TABs (não sei se os valores aparecerão em linhas diferentes pela formatação > da mensagem, mas os valores estão todos na mesma linha): > 1 valor_tb1_1 valor_tb1_2 valor_tb1_3 valor_tb2_1 > valor_tb2_2 valor_tb2_3 > A dúvida é a seguinte: > Como eu posso armazenar no ID_TB da TABELA_2 o mesmo valor do ID_TB da > TABELA_1? > > Tentei as duas seguintes alternativas: > - Posicionei o cursor no início do arquivo com o POSITION (1), li a > informação e depois tentei "pular" novamente para o registro "5" e continuar > o carregamento a partir dali. > Resultado: Não funcionou pois não encontrei uma forma de referenciar o > caminho relativo do registro "5", só consigo especificar que inicie a leitura > a partir de um número determinado de bytes (POSITION (*+3), por exemplo, não > me leva do segundo registro + 3 (chegando ao 5), e sim me leva até o 3 > caractere do segundo registro). E como o formato do arquivo não é fixo eu não > posso usar o comando POSITION (número_da_coluna:tamanho) > > - Tentei referenciar diretamente o valor do campo ID_TB da seguinte forma > (ID_TB ":ID_TB", CAMPO_1, CAMPO_2, CAMPO_3) > Resultado: Também não funciona pois acho que o SQL Loader não sabe qual dos > dois "ID_TB"s eu estou referenciando. > > > Alguém tem uma ideia do que posso fazer? > > Atenciosamente, > Douglas Henrique >