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

Oracle में MySQL अस्थायी तालिका के लिए वैकल्पिक

ओरेकल में, आपको पहली बार में शायद ही कभी अस्थायी तालिका की आवश्यकता होती है। आपको आमतौर पर अन्य डेटाबेस में अस्थायी तालिकाओं की आवश्यकता होती है क्योंकि वे डेटाबेस बहु-संस्करण पढ़ने की स्थिरता को लागू नहीं करते हैं और ऐसी संभावना है कि तालिका से डेटा पढ़ने वाला कोई व्यक्ति आपकी प्रक्रिया के दौरान अवरुद्ध हो जाएगा या यदि आपकी प्रक्रिया एक गंदा पठन करेगी डेटा को एक अलग संरचना में सहेजना नहीं है। आपको इनमें से किसी भी कारण से Oracle में वैश्विक अस्थायी तालिकाओं की आवश्यकता नहीं है क्योंकि पाठक लेखकों को ब्लॉक नहीं करते हैं और गंदा पढ़ना संभव नहीं है।

यदि आपको पीएल/एसक्यूएल गणना करते समय डेटा स्टोर करने के लिए केवल एक अस्थायी स्थान की आवश्यकता है, तो पीएल/एसक्यूएल संग्रह ओरेकल में अस्थायी तालिकाओं की तुलना में अधिक सामान्य रूप से उपयोग किए जाते हैं। इस तरह, आप पीएल/एसक्यूएल इंजन से एसक्यूएल इंजन और पीएल/एसक्यूएल इंजन पर वापस डेटा आगे नहीं बढ़ा रहे हैं।

CREATE PROCEDURE do_some_processing
AS
  TYPE emp_collection_typ IS TABLE OF emp%rowtype;
  l_emps emp_collection_type;

  CURSOR emp_cur
      IS SELECT *
           FROM emp;
BEGIN
  OPEN emp_cur;
  LOOP
    FETCH emp_cur 
     BULK COLLECT INTO l_emps
    LIMIT 100;

    EXIT WHEN l_emps.count = 0;

    FOR i IN 1 .. l_emps.count
    LOOP
      <<do some complicated processing>>
    END LOOP;
  END LOOP;
END;

आप एक वैश्विक अस्थायी तालिका (प्रक्रिया के बाहर) बना सकते हैं और अपनी प्रक्रिया के अंदर वैश्विक अस्थायी तालिका का उपयोग कर सकते हैं जैसे आप किसी अन्य तालिका का उपयोग करेंगे। इसलिए यदि आप चाहें तो अस्थायी तालिकाओं का उपयोग जारी रख सकते हैं। लेकिन मैं एक ओर गिन सकता हूं कि मुझे Oracle में कितनी बार वास्तव में एक अस्थायी तालिका की आवश्यकता है।



  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. अद्वितीय अनुक्रमित मानों को ओवरराइड करना

  3. MySQL लेफ्ट जॉइन क्वेरी WHERE क्लॉज के साथ

  4. Laravel . में दो बिंदुओं के बीच हावर्सिन दूरी की गणना

  5. CentOS 7 या RHEL 7 से MariaDB या MySQL को पूरी तरह से हटा दें