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

अनुक्रम से लिए गए मान के साथ xmltype में विशेषता जोड़ें

मुझे अंतिम रूप से कुछ समाधान मिल गया है और इसकी कुंजी XMLTable() फ़ंक्शन का उपयोग करना था। ये रहा मेरा कोड:

declare
v_inXML xmltype;
  v_tmpXML xmltype;
  v_withIdXML xmltype;
  v_outXML xmltype;
BEGIN   
  v_inXML := XMLType('<root><x a="a"/><x a="b"/><x a="c"/></root>');
  v_withIdXML := XMLType('<root/>'); 
  v_outXML := XMLType('<root/>');

  for c_rec in (
    select *
    from   XMLTable('for $i in /root/x
          return $i'
          passing  v_inXML
          columns x xmltype path '/x'
    )
  )
  loop
    select insertchildxml(c_rec.x,'//x', '@b', pckg_ent_pk_seq.nextval) into v_tmpXML from dual;      
    select insertchildxml(v_withIdXML, '/root', 'x', v_tmpXML) into v_withIdXML from dual;    
  end loop;

  select updatexml(v_outXML, '/root', v_withIdXML) into v_outXML from dual;

  dbms_output.put_line(v_outXML.getClobVal());
END;

और परिणाम यह है:

<root><x a="a" b="92"/><x a="b" b="93"/><x a="c" b="94"/></root>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDB अनप्लग ORA-17528 त्रुटि

  2. ADDM टास्क कैसे बनाएं और उसकी रिपोर्ट कैसे चेक करें

  3. कैसे एक स्ट्रिंग की शुरुआत से अंक और विशेष वर्ण निकालने के लिए?

  4. Oracle NUMBER का स्केल प्रेसिजन से बड़ा कैसे हो सकता है?

  5. कनेक्शन त्रुटियों पर ODP.NET कनेक्शन पूल को कैसे साफ़ करें?