sql >> Databáze >  >> RDS >> Oracle

Načítání prvků XML z XMLType Oracle

Můžete použít kombinaci existsNode a extract funguje následovně.

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;

* se používá jako zástupný znak, který odpovídá libovolnému podřízenému uzlu. Například /PO/*/STREET odpovídá libovolnému prvku ulice, který je vnukem prvku PO.

Výstup:

attr1   ABC
attr2   XYZ
attr3   PQR


  1. SQL Developer error Nelze najít Java Virtual Machine

  2. Našel někdo efektivní způsob, jak uložit hodnoty BSON ObjectId v databázi SQL?

  3. Hibernate Dialect pro Oracle 19

  4. Jak opravit „Přidružená funkce oddílu generuje více oddílů, než kolik je skupin souborů uvedených ve schématu“ Msg 7707 v SQL Server