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

importando dados XML no Oracle DB


Você pode usar uma cláusula XMLTable para obter os dados em uma forma relacional:
select x.cd_uid
from testtable2 t
cross join xmltable(xmlnamespaces(default 'http://xxxxxxxxxxxxxx'),
  '/records/REC'
  passing t.xml_file 
  columns cd_uid varchar2(20) path 'UID'
) x;

CD_UID             
--------------------
UID_number          

Você tem um namespace nos records node, então você precisa incluir isso por meio de um xmlnamespaces cláusula; como você só tem um, eu o tornei o padrão para que você não precise sobrecarregar o XPath com referências a ele.