Pular para o conteúdo

Fóruns Banco de dados Oracle Importação de xml Importação de xml

#106551
vanessa mortago amato
Participante

    Oi Gustavo,

    Eu não entendi muito bem como você está fazendo a importação mas eu vou te passar o passo a passo que eu fiz aqui e aí você vê se ajuda. Pelo que entendi quando no XML ha muitas tags com o mesmo nome a solucao para trazer cada uma é referenciar com []:

    1. Criei o arquivo import.xml no diretorio /tmp

    P
    20110525093646
    20110525093745
    20110525093500
    20110525093756

    2. Criei o diretorio teste_gpo para o /tmp

    create or replace directory test_gpo as '/tmp/';

    3. Criei a tabela para receber o arquivo:

    create table teste_gpo (type_code varchar2(1),creation varchar2(50), update1 varchar2(50), update2 varchar2(50), sysdate1 varchar2(50));

    4. Inseri os dados do XML:

    INSERT INTO teste_gpo(type_code,creation,update1,update2,sysdate1)
    WITH t AS (SELECT xmltype(bfilename('TEST_VANESSA','import.xml'), nls_charset_id('WE8ISO8859P1')) xmlcol FROM dual)
    SELECT
    extractValue(value(x),'/ROW/TYPE_CODE') type_code
    ,extractValue(value(x),'/ROW/CREATION_DATE') creation
    ,extractValue(value(x),'/ROW/UPDATE_DATE[1]') update1
    ,extractValue(value(x),'/ROW/UPDATE_DATE[2]') update2
    ,extractValue(value(x),'/ROW/SYSDATE_REG') sysdate1
    FROM t,TABLE(XMLSequence(extract(t.xmlcol,'/ROWSET/ROW'))) x;

    Boa sorte,

    Vanessa