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

एक्सएमएल ओरेकल:मल्टीपल चाइल्ड नोड एक्सट्रैक्ट

आप XMLTable() . का उपयोग करके वांछित परिणाम प्राप्त कर सकते हैं समारोह:

select q.Lastname
     , q.Numberid
     , s.codeid
     , w.LoginId
     , q.address
  from t1 t
  left join xmltable('/begin/entry'
                      passing t.xml_col 
                      columns LastName   varchar2(21)  path 'lastname',
                              NumberId   number        path 'NumberList/number',
                              Address    varchar2(201) path 'address/addresslist',
                              CodeList   XmlType       Path 'NumberList/codelist/code',
                              Logins     XmlType       Path 'NumberList/login/user'
                      ) q
    on (1=1) 
  left join xmltable('/code'
                      passing q.CodeList
                      columns CodeId number path '.') s
    on (1=1)
  left join   xmltable('/user'
                        passing q.Logins
                        columns LoginId varchar2(11) path '.') w
    on (1=1)

परिणाम:SQLFiddle डेमो

Lastname Numberid Codeid Loginid Address 
---------------------------------------------------------------------------
gordon   100      213    user1   Jl. jalan pelan-pelan ke Bekasi, Indonesia 
gordon   100      213    user2   Jl. jalan pelan-pelan ke Bekasi, Indonesia 
gordon   100      214    user1   Jl. jalan pelan-pelan ke Bekasi, Indonesia 
gordon   100      214    user2   Jl. jalan pelan-pelan ke Bekasi, Indonesia 
mark     null     null   null    Jl. jalan cepet-cepet ke Jakarta, Indonesia 

और जानें के बारे में XMLTable() समारोह।

नोट :11.2.0.2 से पहले Oracle रिलीज़ के साथ काम करते हुए, आप ORA-1780 error का सामना कर सकते हैं (बग 8545377) जब cursor_sharing . कुछ प्रकार की XML क्वेरी पर पैरामीटर FORCE . पर सेट है या SIMILAR (11.2 से शुरू होने वाला पदावनत)। cursor_sharing सेट करना EXACT . के लिए पैरामीटर (डिफ़ॉल्ट मान), समस्या का समाधान करेगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL त्रुटि:ORA-00933:SQL आदेश ठीक से समाप्त नहीं हुआ

  2. Oracle ADF 11g जावा EE फ्रेमवर्क में कहाँ खड़ा है?

  3. दिनांक प्रारूप के लिए Oracle SQL क्वेरी

  4. मेरी क्वेरी दूसरी बार तेज़ी से चलती है, मैं इसे कैसे रोकूँ?

  5. प्रक्रियाओं के बिना तिथियों की एक श्रृंखला का उपयोग करके तालिकाओं में कैसे शामिल हों