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

एक DB2 क्वेरी को ऑरैकल क्वेरी में परिवर्तित करना

आपके पास आगे बहुत काम है!

DB2 और Oracle के बीच, कुछ महत्वपूर्ण अंतर हैं (जो मैं सोच सकता हूं उसकी एक मनमानी गणना):

डेटा प्रकार

  • संख्या डेटा प्रकार:DB2 में कई और मानक प्रकार हैं, जैसे SMALLINT , INTEGER , DOUBLE , आदि। वे Oracle SQL में मौजूद नहीं हैं (हालाँकि कुछ PL/SQL में मौजूद हैं)। यह डीडीएल के लिए और कास्टिंग और कुछ अन्य उपयोग के मामलों के लिए महत्वपूर्ण है, जैसे कि विधेय की शुद्धता
  • दिनांक डेटा प्रकार:Oracle का एकमात्र अंतर DATE . के बीच है और TIMESTAMP तथ्य यह है कि TIMESTAMP माइक्रोसेकंड है। लेकिन DATE समय की जानकारी भी हो सकती है। DB2 में, DATE मुझे लगता है कि समय की कोई जानकारी नहीं है।
  • चरित्र डेटा प्रकार:VARCHAR . के बीच अंतर के बारे में पढ़ें और VARCHAR2 ओरेकल में
  • NULL . Oracle में, NULL DB2 की तुलना में बहुत अधिक सामान्य है। DB2 v9.7 से पहले, आपको NULL cast डालना था किसी भी स्पष्ट प्रकार के लिए, उदा। cast(null as integer) . Oracle में यह आवश्यक नहीं है।

सिस्टम ऑब्जेक्ट

  • SYSIBM.DUAL बस DUAL . बन जाता है
  • कार्य:वे सभी थोड़े अलग हैं। आपको केस दर केस जांचना होगा। उदाहरण के लिए, LOCATE हो जाता है INSTR

वाक्यविन्यास

  • TRUNCATE IMMEDIATE हो जाता है TRUNCATE
  • EXCEPT MINUS becomes बन जाता है
  • DB2 का FETCH FIRST n ROWS ONLY :Oracle में ऐसा कोई खंड नहीं है। आपको ROWNUM . का उपयोग करना होगा या ROW_NUMBER() OVER() फ़िल्टरिंग (इसे देखें उदाहरण )
  • DB2 का MERGE यदि आप इसका उपयोग करते हैं, तो कथन Oracle की तुलना में अधिक शक्तिशाली है।
  • DB2 समर्थन करता है INSERT INTO .. (..) VALUES (..), (..), (..) . Oracle के साथ, आपको INSERT INTO .. SELECT .. UNION ALL SELECT .. UNION ALL SELECT .. लिखना होगा।

उन्नत

  • यदि आप संग्रहीत कार्यविधियों का उपयोग करते हैं, तो वे कुछ अलग तरीके से काम करते हैं, विशेष रूप से उन्नत डेटा प्रकारों के साथ, लेकिन यह यहां दायरे से बाहर है।

इस पर आपका सबसे कुशल शॉट किसी प्रकार के SQL एब्स्ट्रैक्शन का उपयोग करना हो सकता है। यदि आप जावा का उपयोग कर रहे हैं, तो मैं आपको अपने SQL कथनों को jOOQ के साथ लपेटने की सलाह दूंगा। (अस्वीकरण:मैं jOOQ के पीछे कंपनी के लिए काम करता हूं)। jOOQ उपरोक्त सभी तथ्यों के लिए एपीआई-स्तरीय अमूर्तता प्रदान करता है। SQL का एक बड़ा सौदा अनुकूलन के बिना, DB2 और Oracle दोनों पर निष्पादित किया जा सकता है। हम एक अधिक स्वतंत्र अनुवादक उत्पाद पर भी काम कर रहे हैं:https://www.jooq.org/translate ए>

अमूर्तता के उच्च स्तर पर, हाइबरनेट (या अन्य जेपीए कार्यान्वयन) आपके लिए ऐसा ही कर सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-22275:अमान्य LOB लोकेटर निर्दिष्ट

  2. SQL चयन कथन में पैकेज स्थिरांक का उपयोग कैसे करें?

  3. Oracle कंडीशन चेकिंग

  4. ईबीएस 12.2 . में वेब पोर्ट कैसे बदलें

  5. Oracle स्कीमा प्राप्त करें