Oracle
 sql >> Database >  >> RDS >> Oracle

importazione di dati XML in Oracle DB

Puoi utilizzare una clausola XMLTable per ottenere i dati in forma relazionale:

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          

Hai uno spazio dei nomi nei records nodo quindi è necessario includerlo tramite un xmlnamespaces clausola; dato che ne hai solo uno, l'ho impostato come predefinito in modo da non ingombrare l'XPath con riferimenti ad esso.