Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: index

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

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung 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