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

रेफरी कर्सर से पीएल/एसक्यूएल में अस्थायी तालिका में डेटा डालने के लिए थोक कैसे करें?

आप REF CURSOR पर बल्क संचालन का उपयोग कर सकते हैं:

SQL> CREATE GLOBAL TEMPORARY TABLE gt (ID NUMBER);

Table crÚÚe.

SQL> DECLARE
  2     l_refcursor SYS_REFCURSOR;
  3     TYPE tab_number IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
  4     l_data tab_number;
  5  BEGIN
  6     OPEN l_refcursor FOR
  7        SELECT ROWNUM FROM dual CONNECT BY LEVEL <= 1e6;
  8     LOOP
  9        FETCH l_refcursor BULK COLLECT
 10           INTO l_data LIMIT 100;
 11
 12        FORALL i IN 1..l_data.count
 13           INSERT INTO gt VALUES (l_data(i));
 14
 15        EXIT WHEN l_refcursor%NOTFOUND;
 16
 17     END LOOP;
 18     CLOSE l_refcursor;
 19  END;
 20  /

ProcÚdure PL/SQL terminÚe avec succÞs.

Oracle 10g पहले से ही नियमित लूप के लिए इस अनुकूलन को लागू करता है, इसलिए हो सकता है कि आपको एक साधारण LOOP...INSERT से अधिक सुधार दिखाई न दे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Solaris libc . में ioctl प्रोटोटाइप

  2. मैन्युअल रूप से संभव क्वेरी के भीतर पीएल/एसक्यूएल अपर्याप्त विशेषाधिकार

  3. एक नियमित अभिव्यक्ति पैटर्न के लिए एक स्ट्रिंग खोजें और प्रत्येक घटना को oracle SQL में स्वयं की व्युत्पत्ति के रूप में बदलें

  4. Oracle PL/SQL ट्रिगर केवल तभी चलेगा जब 9-5 घंटों के बाद डेटा में परिवर्तन किया जाएगा

  5. Liferay:कोई उपयुक्त ड्राइवर नहीं मिला