Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pobieranie elementów XML z XMLType Oracle

Możesz użyć kombinacji existsNode i extract działa w następujący sposób.

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;

* jest używany jako symbol wieloznaczny, aby dopasować dowolny węzeł podrzędny. Na przykład /PO/*/STREET pasuje do dowolnego elementu ulicy, który jest wnukiem elementu PO.

Wyjście:

attr1   ABC
attr2   XYZ
attr3   PQR


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Powiadomienie o zmianach w tabeli Oracle w Javie

  2. PostgreSQL kontra Oracle:różnica w kosztach, łatwość użytkowania i funkcjonalność

  3. Przykład wyzwalacza Oracle przed wstawieniem lub aktualizacją

  4. Funkcja NVL() w Oracle

  5. Zmień kolejność kolumn tabeli w Oracle