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

डेटाबेस में सकर्मक निर्भरता को हल करने के लिए SQL क्वेरी

जैसा कि आप Oracle 11g चला रहे हैं (और यदि यह रिलीज़ 2 होता है), एक विधि के रूप में, आप पुनरावर्ती सामान्य तालिका अभिव्यक्ति (जिसे पुनरावर्ती उप-क्वेरी फैक्टरिंग के रूप में भी जाना जाता है) का उपयोग कर सकते हैं वांछित परिणाम प्राप्त करने के लिए

SQL> with rcte(r1, r2, lv, root) as(
  2    select r1
  3         , r2
  4         , 0 lv
  5         , r1
  6     from rd
  7    where r1 = 1
  8  
  9    union all
 10  
 11    select t.r1
 12         , t.r2
 13         , lv + 1
 14         , q.root
 15      from rd   t
 16      join rcte q
 17        on (t.r1 = q.r2)
 18  )
 19  search depth first by r1 set s
 20  cycle r1 set is_cycle to 'y' default 'n'
 21  
 22  select root
 23       , r2
 24    from rcte
 25  where is_cycle = 'n'
 26    and r2 <> root
 27  ;

      ROOT         R2
---------- ----------
         1          2
         1          3
         1          4
         1          5


  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. C#.Net और Oracle के बीच भिन्न एन्क्रिप्शन परिणाम प्राप्त करना

  3. तालिका को अपडेट किए बिना ora_rowscn क्यों बदलता है

  4. Oracle जावा / JPA प्रोग्रामर के लिए खाली स्ट्रिंग को NULL समस्या के रूप में मानता है

  5. जबकि (rs.next ()) कथन 1 पुनरावृत्ति के बाद समाप्त क्यों हो रहा है?