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

Henter XML-elementer fra XMLType Oracle

Du kan bruge kombinationen af ​​existsNode og extract fungerer som følger.

SELECT b.SOFT_ATTRIBUTES,
  CASE
    WHEN existsNode (a.soft_attributes ,'/*/'
      ||b.SOFT_ATTRIBUTES) = 1
    THEN a.soft_attributes.extract('/*/'
      ||b.SOFT_ATTRIBUTES
      ||'/text()').getStringVal()
  END value
FROM xml_analysis a,
  xml_softattributes b
WHERE a.id = b.id;

* bruges som jokertegn til at matche enhver underordnet node. For eksempel matcher /PO/*/STREET ethvert gadeelement, der er et barnebarn af PO-elementet.

Output:

attr1   ABC
attr2   XYZ
attr3   PQR


  1. Beskedsystem med PHP/MySQL

  2. plpgsql CREATE FUNCTION syntaksfejl ved eller nær 'CREATE'

  3. Sådan flettes tabel i MySQL

  4. MySQL anmodning om at kombinere og søge i 2 tabeller