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

Oracle:जब कर्सर एक कर्सर के अंदर होता है (कर्सर एक्सप्रेशन का उपयोग करके) विशिष्ट काम नहीं करता है

मुझे लगता है कि आपको नीचे की तरह अलग आउटपुट चाहिए

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <CONTACTS>
   <CONTACTS_ROW>
    <CONTACT_NAME>ALBERT EINSTEIN</CONTACT_NAME>
    <INVOICE_NUMBER>123456</INVOICE_NUMBER>
    <INVOICE_AMOUNT>10000</INVOICE_AMOUNT>
    <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
   </CONTACTS_ROW>
  </CONTACTS>
 </ROW>
</ROWSET>

इसके लिए किसी दूसरे कर्सर की आवश्यकता नहीं है। आप नीचे की तरह प्राप्त कर सकते हैं

select dbms_xmlgen.getxml('
select 
cursor (
  select 
    distinct 
    ''ALBERT EINSTEIN'' CONTACT_NAME 
    , 123456 INVOICE_NUMBER, 10000 INVOICE_AMOUNT, ''EUR'' INVOICE_CURRENCY 
  from 
  ALL_VIEWS
  where view_name IN ( ''ALL_INDEXES'', ''ALL_TABLES'')
  ) AS CONTACTS
  from dual 
 ') from dual
;

distint . के बाद से इस अवसर पर अलग है। इसलिए कोई उप कर्सर की आवश्यकता नहीं है। यहां distinct सबक्वायरी में सभी रिकॉर्ड को स्वयं हटा देगा।



  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. Oracle SQL - स्तंभ में पिवट तालिका पंक्तियाँ और पिवट में उप क्वेरी का उपयोग करें

  3. कोड द्वारा फ़ाइल tnsnames.ora का स्थान प्राप्त करना

  4. कर्सर का उपयोग करके विभाग के नाम प्रदर्शित करें। कर्सर का उपयोग करके विभाग तालिका से सभी विभाग के नाम प्रदर्शित करने के लिए पीएल/एसक्यूएल ब्लॉक बनाएं

  5. SQL - Oracle में अधिकतम मान वाले कॉलम वाली पंक्ति का चयन कैसे करें?