Oracle - Ler/Insert ficheros XML

August 29, 2013

Teniendo un fichero XML:

Una tabla:

CREATE TABLE XML_TEST (id number, title varchar2(200), description varchar2(200));

Para ler el fichero en la consola:

SELECT *
FROM XMLTABLE('/Row’ PASSING XMLTYPE(BFILENAME(‘’, ‘’),
NLS_CHARSET_ID(‘CHAR_CS’))
COLUMNS
ID NUMBER PATH ‘F_ID’,
TITLE VARCHAR2(200) PATH ‘F_TITLE’,
DESCRIPTION VARCHAR2(200) PATH ‘F_DESCRIPTION’
);

Otra alternativa es hacer el insert de un fichero XML en una tabla:

INSERT INTO xml_test (ID, TITLE, DESCRIPTION)
SELECT *
FROM XMLTABLE('/Row’ PASSING XMLTYPE(BFILENAME(‘’, ‘’),
NLS_CHARSET_ID(‘CHAR_CS’))
COLUMNS
ID NUMBER PATH ‘F_ID’,
TITLE VARCHAR2(200) PATH ‘F_TITLE’,
DESCRIPTION VARCHAR2(200) PATH ‘F_DESCRIPTION’
);