Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Xmlforest क्रिएट एलिमेंट्स को कैसे लागू करें, भले ही एक्सप्रेशन वैल्यू शून्य हो?

आप XMLFOREST :

न ही समान XMLCOLATTVAL समारोह:

XMLELEMENT दूसरी ओर अनुरोध के अनुसार एक खाली तत्व लौटाता है:

SQL> select xmlelement("EMP", xmlelement("ENAME", ename), 
  2                           xmlelement("JOB", job),
  3                           xmlelement("MGR", mgr)
  4         ).getclobval() xml
  5    from scott.emp;

XML
----------------------------------------------------------------
<EMP><ENAME>KING</ENAME><JOB>PRESIDENT</JOB><MGR></MGR></EMP>
<EMP><ENAME>BLAKE</ENAME><JOB>MANAGER</JOB><MGR>7839</MGR></EMP>
...

पूर्णता के लिए, दो और Oracle टूल का भी उपयोग किया जा सकता है (इस पोस्ट से प्रेरित OTN फ़ोरम ) सबसे पहले आप एक XMLQUERY (11.2 को? ):

SQL> select
  2    xmlquery(
  3     '(#ora:view_on_null empty #) {
  4      <EMPS> {
  5          for $c in fn:collection("oradb:/SCOTT/EMP")/ROW
  6          return element EMP {
  7            $c/ENAME
  8          , $c/JOB
  9          , $c/MGR
 10       }
 11      }</EMPS>
 12     }'
 13    passing cast(10 as number) as "mid"
 14    returning content
 15  ).getClobval() as result
 16  from dual;

RESULT 
----------------------------------------------------------------------
<EMPS>
   <EMP><ENAME>KING</ENAME><JOB>PRESIDENT</JOB><MGR></MGR></EMP>
   <EMP><ENAME>BLAKE</ENAME>...

आप DBMS_XMLGEN पैकेज:

SQL> DECLARE
  2    ctx    dbms_xmlgen.ctxHandle;
  3    sqlstr varchar2(4000)
  4       := 'SELECT ename, job, mgr FROM scott.emp WHERE ename=''KING''';
  5    res    clob;
  6  BEGIN
  7    ctx := dbms_xmlgen.newContext(sqlstr);
  8    dbms_xmlgen.setNullHandling(ctx, dbms_xmlgen.EMPTY_TAG);
  9    res := dbms_xmlgen.getXML(ctx);
 10    dbms_xmlgen.closeContext(ctx);
 11    dbms_output.put_line(res);
 12  END;
 13  /

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <ENAME>KING</ENAME>
  <JOB>PRESIDENT</JOB>
  <MGR/>
 </ROW>
</ROWSET>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक समय में शेल स्क्रिप्ट में दो ओरेकल डीबी के खिलाफ एक एसक्यूएल क्वेरी निष्पादित करने और सीएसवी फाइलों को अलग करने के लिए डेटा निर्यात करने की आवश्यकता है

  2. 9i क्लाइंट से 11g डेटाबेस से कनेक्ट करते समय ORA-01017 अमान्य उपयोगकर्ता नाम/पासवर्ड

  3. ORACLE अद्यतन ट्रिगर के बाद:ORA-04091 उत्परिवर्तित तालिका त्रुटि को हल करना

  4. अधिकतम कनेक्शन पूल आकार

  5. अजगर में Oracle तैयार वक्तव्य के लिए खंड में cx_Oracle

© कॉपीराइट http://hi.sqldat.com सर्वाधिकार सुरक्षित