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

Oracle SQL Connect By Logic

अंतिम शर्त आपके डेटा पर लागू नहीं होती है, लेकिन अनंत रिकर्सन से बचना बहुत महत्वपूर्ण है।

इस बिंदु को स्पष्ट करने के लिए, विचार करें कि यदि आप अपनी तालिका में एक और पंक्ति जोड़ते हैं तो क्या होगा:

E40 E40

अगर आप E40 . से शुरू करते हैं E90 . के बजाय , Oracle EMP_ID != MANAGER_ID के बिना एक अनंत रिकर्सन में घूमेगा शर्त, क्योंकि E40 वापस E40 से कनेक्ट होगा ।

ध्यान दें कि इस प्रश्न को लिखने का एक बेहतर तरीका NOCYCLE . का उपयोग करना है एक स्पष्ट जांच में कोडिंग के बजाय विकल्प:

SELECT *
FROM Temp
    START WITH EMP_ID = 'E90'
    CONNECT BY NOCYCLE PRIOR EMP_ID = MANAGER_ID
ORDER BY EMP_ID



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पुराने plsql को कैसे वापस करें?

  2. Oracle sqlplus के तहत सभी कॉलम वापस नहीं करने का चयन करें

  3. Oracle इवेंट काउंट क्वेरी

  4. ORA-28000 को कैसे हल करें खाता लॉक है

  5. oci_bind_by_name किसके लिए है?