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

ORACLE SQL सर्वर में समतुल्य क्लॉज द्वारा कनेक्ट करें

SQL Server 2005+ Oracle के CONNECT BY . के समतुल्य है पदानुक्रमित क्वेरी सिंटैक्स एक पुनरावर्ती CTE का उपयोग करना है। एसक्यूएल सर्वर 2008 ने पदानुक्रम आईडी जोड़ा। यहाँ एक पुनरावर्ती CTE का उदाहरण दिया गया है:

WITH EmployeeHierarchy (EmployeeID, LastName, FirstName, ReportsTo, HierarchyLevel) AS (
   SELECT EmployeeID,
          LastName,
          FirstName,
          ReportsTo,
          1 as HierarchyLevel
     FROM Employees
    WHERE ReportsTo IS NULL
   UNION ALL
   -- Recursive step
   SELECT e.EmployeeID,
          e.LastName,
          e.FirstName,
          e.ReportsTo,
          eh.HierarchyLevel + 1 AS HierarchyLevel
     FROM Employees e
     JOIN EmployeeHierarchy eh ON e.ReportsTo = eh.EmployeeID)
  SELECT *
    FROM EmployeeHierarchy
ORDER BY HierarchyLevel, LastName, FirstName 

गुगलिंग "पदानुक्रमित सीटीई" और/या "पुनरावर्ती सीटीई" कई परिणाम बदल देगा। मैंने 4GuysFromRolla.com से उदाहरण क्वेरी ली।

पुनरावर्ती CTE अब ANSI मानक हैं - जैसा कि मैं समझता हूँ, Oracle 11g तक सिंटैक्स समर्थित नहीं था।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS और Oracle क्लाउड प्लेटफ़ॉर्म पर डेटाबेस सेवाएँ

  2. IN बनाम OR Oracle, कौन सा तेज़?

  3. Oracle क्लाइंट को 64-बिट मशीन पर 32-बिट मोड में चलाएं

  4. Oracle तालिका का नाम बदलें या देखें

  5. Oracle में JDBC बैच डालने से उत्पन्न कुंजियाँ कैसे प्राप्त करें?