prog:sql_xml_xpath_oracle
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
prog:sql_xml_xpath_oracle [2018/03/21 22:50] – [Quellen] gpipperr | prog:sql_xml_xpath_oracle [2018/03/21 22:55] (aktuell) – [XNL Baum erzeugen] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Mit XML und xpath in einer Oracle SQL Query arbeiten===== | ||
+ | Über den Trick XML zu erzeugen kann zum Beispiel eine Baumstruktur in SQL erzeugt werden und wieder flach ausgeben werden. | ||
+ | |||
+ | Ein erstes Beispiel für XMLTABLE und einen xpatch: | ||
+ | <code sql> | ||
+ | |||
+ | select * from XMLTABLE( ' | ||
+ | select * from ( | ||
+ | | ||
+ | , (select count(*) | ||
+ | from dba_proxies p | ||
+ | where p.client = u.schema_name) | ||
+ | percount | ||
+ | from admin_users u | ||
+ | where U.USER_TYPE != ' | ||
+ | group by schema_name ) | ||
+ | pivot xml ( | ||
+ | | ||
+ | ) | ||
+ | ) | ||
+ | columns | ||
+ | , counter | ||
+ | ) vals | ||
+ | |||
+ | |||
+ | SCHEMANAME , COUNTER | ||
+ | --------------------- | ||
+ | T1 11 | ||
+ | T2 26 | ||
+ | ... | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Mehr demnächst | ||
+ | |||
+ | === XNL Baum erzeugen === | ||
+ | |||
+ | <code sql> | ||
+ | SELECT XMLELEMENT(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | p.proxy as " | ||
+ | ) | ||
+ | ) | ||
+ | ) | ||
+ | FROM | ||
+ | where p.client = u.schema_name | ||
+ | ) " | ||
+ | ) | ||
+ | ) | ||
+ | ) | ||
+ | | ||
+ | | ||
+ | from admin_users u | ||
+ | where U.USER_TYPE != ' | ||
+ | </ | ||
+ | |||
+ | als Text ausgeben mit .getClobVal()! | ||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | |||
+ | Oracle: | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | |||
+ | Web | ||
+ | |||
+ | * https:// |
prog/sql_xml_xpath_oracle.txt · Zuletzt geändert: 2018/03/21 22:55 von gpipperr