sql >> Databasteknik >  >> RDS >> Oracle

Hur man öppnar XML-data i Oracle

ett par metoder beskrivs i detta SO:

Oracle Pl/SQL:Loop through XMLTYPE-noder

Uppdatering: det är ganska okomplicerat eftersom båda metoderna är ren SQL (du kan kalla denna SQL från PL/SQL eller vilket verktyg som helst som interagerar med DB):

SQL> WITH openedXml AS (
  2  SELECT extractvalue(column_value, '/theRow/First') FIRST,
  3         extractvalue(column_value, '/theRow/Last') LAST,
  4         to_number(extractvalue(column_value, '/theRow/Age')) Age
  5    FROM TABLE(XMLSequence(XMLTYPE('<theRange>
  6      <theRow><First>Bob</First><Last>Smith</Last><Age>30</Age></theRow>
  7      <theRow><First>Sue</First><Last>Jones</Last><Age>34</Age></theRow>
  8      <theRow><First>John</First><Last>Bates</Last><Age>40</Age></theRow>
  9  </theRange>').extract('/theRange/theRow')))
 10  )
 11  SELECT *
 12    FROM openedxml
 13   WHERE age BETWEEN 30 AND 35;

FIRST     LAST       AGE
--------- -------- -----
Bob       Smith       30
Sue       Jones       34



  1. exekvera omedelbar ändringssekvens fungerar inte

  2. SQL-fråga för de senaste meddelandena

  3. Skicka e-post med bilagor i Oracle D2k, Oracle Forms 10g, Oracle Forms 6i

  4. Hur lång tid bör det ta att bygga ett index med ALTER TABLE i MySQL?