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

तालिका चर केवल एक मान से भरा है

BULK COLLECT का उपयोग करें और FORALL थोक आवेषण और बेहतर प्रदर्शन के लिए। के लिए स्टेटमेंट डीएमएल को हर बार संदर्भ स्विच की आवश्यकता के बिना संग्रह में प्रत्येक पंक्ति के लिए चलाने की अनुमति देगा, इस प्रकार समग्र प्रदर्शन में सुधार होगा।

CREATE OR REPLACE PROCEDURE get_attributes (
    p_auth_use_id  IN   NUMBER,
    p_category_id  IN   NUMBER,
    p_version_id   IN   NUMBER,
    p_result       OUT  types.cursor_type
) IS
    v_numbers sys.odcinumberlist := NULL;
BEGIN 
    SELECT s.id
    BULK COLLECT --> Bulk collect all values
    INTO v_numbers
    FROM inv_srv s
        start with s.parent_srv_id in (
          SELECT ID FROM INV_SRV 
          WHERE SRV_CATEGORY_ID IN 
            (
                SELECT id
                FROM   inv_srv_category
                START WITH parent_category_id = P_CATEGORY_ID
                CONNECT BY PRIOR id = parent_category_id
            ) 
            OR SRV_CATEGORY_ID = P_CATEGORY_ID)
        connect by prior s.id = s.parent_srv_id;

        FORALL i IN 1..v_numbers.COUNT   
        INSERT INTO your_table VALUES v_numbers ( i ); --> Bulk insert

END;


  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. वैश्विक अस्थायी तालिका

  4. समस्याएँ जब sql कमांड में उपयोगकर्ता इनपुट डेटा

  5. जावा का उपयोग करके ओरेकल डेटाबेस को एमएस एक्सेस में माइग्रेट करने का सबसे अच्छा तरीका क्या होगा?