Oracle hat diese nette Eigenschaft, eine seitliche Ansicht zu erstellen, wenn Sie ein normales kartesisches Produkt an eine xmltable(...)
schreiben.
Versuchen Sie es so:
SELECT xmlT.employeeName
FROM impp.Employee A
XMLTABLE(
xmlnamespaces('http://urn:global:cs:common' AS "tns0"),
'/tns0:organization/tns0:employee'
PASSING XMLType(A.EmployeeXML)
COLUMNS
employeeName NUMBER PATH 'tns0:EmployeeDetails/@value'
) xmlT;
Hinweise:
- Es scheint, dass Ihr
impp.Employee.EmployeeXML
eine CLOB-Spalte ist. Aus diesem Grund funktioniert dieser Code in Ordnung. Wenn die EmployeeXML
stattdessen eine XmlType-Spalte ist, lassen Sie einfach die "Typumwandlung" zu XmlType aus der Abfrage heraus.
Und da Sie neu in stackoverflow.com ...
- Wenn der Code nicht funktioniert, Kommentar zu den daraus resultierenden Fehler und ich werde es korrigieren.
- Wenn der Code funktioniert, vergessen Sie nicht, die Antwort als akzeptiert zu markieren, indem Sie auf das Häkchen klicken.