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

Suddividi i risultati della query dopo aver caricato XML con fn:string-join in una tabella Oracle

Bene, questo è ciò che dovrebbe fare string-join:concatena i valori che corrispondono a XPath. Quindi in effetti quello che stai cercando è solo la tua query senza lo string join. Non so esattamente come sia il tuo XML, ma suggerirei di provare un SQL come questo:

insert into table_a
(computer_brand,
 owner,
 address,
 serialnumber
)
select
 a.computer_brand,
 a.owner,
 a.address,
 a.serialnumber
from table_xml a,
 xmltable (xmlnamespaces('not mentioned due to security reasons' as "tns"),
 '//tns:Main' passing a.xml_file
 columns
 computer_brand      varchar2(41)  path 'tns:/@computer_brand',
 owner               varchar2(101) path 'tns:/@owner)',
 address             varchar2(101) path 'tns:/@address)',
 serialnumber        varchar2(21)  path 'tns:/serialnumber')
(+) k
where upper(file_name)=upper('xmlfile.xml');