Oracle
 sql >> Base de données >  >> RDS >> Oracle

importation de données XML dans Oracle DB

Vous pouvez utiliser une clause XMLTable pour obtenir les données sous une forme relationnelle :

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          

Vous avez un espace de noms dans les records nœud, vous devez donc l'inclure via un xmlnamespaces clause; comme vous n'en avez qu'un, j'en ai fait la valeur par défaut afin que vous n'ayez pas à encombrer le XPath avec des références.