Nå, det er, hvad string-join skal gøre:Det sammenkæder værdier, der matcher XPath. Så i virkeligheden er det, du leder efter, bare din forespørgsel uden string-join. Jeg ved ikke præcis, hvordan din XML ser ud, men jeg vil foreslå at prøve en SQL som denne:
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');