Hallo zusammen,
Ausgangssituation:
- Datenbank Oracle 11g
- Binary XML Table mit "CREATE TABLE XML_TEST OF XMLType XMLTYPE STORE AS BINARY XML;" angelegt
- Daten in Tabelle mit "insert into XML_TEST values (XMLTYPE(BFILENAME ('BMECATIMPORT','Test.xml'),13));" geladen
Problem:
Es gibt zu jeder SUPPLIER_PID (Artikelnummer) mehrere FEATURES (Artikelmerkmale).
Diese Informationen bräuchte ich in zwei Spalten relational aufbereitet, in der Form:
Die XML-Datei hat bei den Artikeln diesen Aufbau:
<PRODUCT mode="new">
<SUPPLIER_PID>0125</SUPPLIER_PID>
<PRODUCT_FEATURES>
<FEATURE>
<FNAME>EF000227</FNAME>
<FVALUE>-</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EF003832</FNAME>
<FVALUE>True</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EF001739</FNAME>
<FVALUE>1</FVALUE>
</FEATURE>
</PRODUCT_FEATURES>
</PRODUCT>
Mein Select-Statement sieht so aus und liefert kein Ergebnis, weil extractvalue() nur einen Wert zurückgeben kann:
Wenn ich nur mit extractvalue() Abfrage, bekomme ich zwar ein Ergebnis, allerdings nur eine Zeile pro Artikel und in der zweiten Spalte nur ein Clob:
Welche Möglichkeit gibt es, die Daten in zwei Spalten auszulesen?
Vielen Dank im voraus!
Gruß
Daniel
Ausgangssituation:
- Datenbank Oracle 11g
- Binary XML Table mit "CREATE TABLE XML_TEST OF XMLType XMLTYPE STORE AS BINARY XML;" angelegt
- Daten in Tabelle mit "insert into XML_TEST values (XMLTYPE(BFILENAME ('BMECATIMPORT','Test.xml'),13));" geladen
Problem:
Es gibt zu jeder SUPPLIER_PID (Artikelnummer) mehrere FEATURES (Artikelmerkmale).
Diese Informationen bräuchte ich in zwei Spalten relational aufbereitet, in der Form:
Die XML-Datei hat bei den Artikeln diesen Aufbau:
<PRODUCT mode="new">
<SUPPLIER_PID>0125</SUPPLIER_PID>
<PRODUCT_FEATURES>
<FEATURE>
<FNAME>EF000227</FNAME>
<FVALUE>-</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EF003832</FNAME>
<FVALUE>True</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EF001739</FNAME>
<FVALUE>1</FVALUE>
</FEATURE>
</PRODUCT_FEATURES>
</PRODUCT>
Mein Select-Statement sieht so aus und liefert kein Ergebnis, weil extractvalue() nur einen Wert zurückgeben kann:
Wenn ich nur mit extractvalue() Abfrage, bekomme ich zwar ein Ergebnis, allerdings nur eine Zeile pro Artikel und in der zweiten Spalte nur ein Clob:
Welche Möglichkeit gibt es, die Daten in zwei Spalten auszulesen?
Vielen Dank im voraus!
Gruß
Daniel
Comment