Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:sql_xml_xpath_oracle

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:

SELECT * FROM XMLTABLE( 'PivotSet/item' Passing (
    SELECT * FROM ( 
             SELECT schema_name
                  , (SELECT COUNT(*)
                      FROM dba_proxies p
                     WHERE p.client = u.schema_name)
                      percount
              FROM admin_users u
              WHERE U.USER_TYPE != 'PERSONAL'
             GROUP BY schema_name )
      pivot xml (
                 MAX(percount) FOR schema_name IN (SELECT schema_name FROM admin_users WHERE USER_TYPE != 'PERSONAL' )
         )
     )
    COLUMNS  schemaname    PATH '//column[@name="SCHEMA_NAME"]'
           , counter       PATH '//column[@name="MAX(PERCOUNT)"]'
 ) vals
 
 
SCHEMANAME , COUNTER
---------------------
T1  11
T2  26
...

Mehr demnächst

XNL Baum erzeugen

SELECT XMLELEMENT("proxy_rights_list",
         XMLAGG (
           XMLELEMENT("schema_name",
             XMLATTRIBUTES(u.id AS "schema_id"),
             XMLFOREST(
               u.schema_name AS "schema",
               (SELECT XMLAGG(
                         XMLELEMENT("proxy_from",
                           XMLFOREST(
                            p.proxy AS "prox_user"
                           )
                         )
                       )
                FROM   dba_proxies p
                WHERE p.client = u.schema_name
               ) "proxy_list"
             )
           )
         )
       ).getClobVal() AS "user_schemas"
 
FROM admin_users u
WHERE U.USER_TYPE != 'PERSONAL'

als Text ausgeben mit .getClobVal()!


Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
"Autor: Gunther Pipperr"
prog/sql_xml_xpath_oracle.txt · Zuletzt geändert: 2018/03/21 22:55 von gpipperr