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

PLSQL में संग्रह को जोड़ना

यदि आप 10g या बाद के संस्करण का उपयोग कर रहे हैं, तो आप MULTISET UNION ऑपरेटर का उपयोग करके CONCAT () फ़ंक्शन को थोड़ा अधिक कुशल बना सकते हैं:

FUNCTION concat (
    iList1 IN ID_ARRAY,
      iList2 IN ID_ARRAY
) 
RETURN ID_ARRAY IS
    lConcat ID_ARRAY;
BEGIN
    lConcat := iList1 
               MULTISET UNION  
               iList2 A
    ;
    RETURN lConcat;
END concat;

आप कई अलग-अलग सरणियों को पॉप्युलेट करके और फिर उन सभी के लिए एक बार MULTISET UNION को कॉल करके चीजों को और अधिक कुशल बना सकते हैं:

   lConcat := iList1 
               MULTISET UNION  
               iList2  
               MULTISET UNION  
               iList3
               MULTISET UNION  
               iList4;  

डायनेमिक SQL का उपयोग करना - संभवतः विभिन्न get_idsN() . को बदलने के लिए कार्य - जांच के लायक एक दृष्टिकोण हो सकता है, लेकिन बेहतर प्रदर्शन के रास्ते में शायद आपको बहुत कुछ नहीं देगा।

अस्थायी तालिकाएँ एक अच्छा विचार नहीं हैं, क्योंकि वे स्मृति में काम करने की तुलना में बहुत खराब प्रदर्शन करती हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:- ORA-01000:अधिकतम खुले कर्सर पार हो गए

  2. SPRING फ्रेमवर्क में UncategorizedSQLException और ORACLE मेमोरी इश्यू जनरेट करने वाली क्वेरी को डिलीट करें

  3. Oracle DB तालिका या दृश्य मौजूद नहीं है

  4. ओरेकल डेटाबेस से ऑटो इंक्रीमेंटेड पीके कैसे प्राप्त करें?

  5. Oracle LIMIT और 1000 कॉलम प्रतिबंध