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

एक स्ट्रिंग के माध्यम से लूपिंग करते समय अस्थायी तालिका में कैसे सम्मिलित करें - Oracle - PL/SQL

यदि आप Oracle 12c . का उपयोग करते हैं , तो आप एक IDENTITY . परिभाषित कर सकते हैं GENERATED ALWAYS AS IDENTITY . के माध्यम से स्तंभ अपनी तालिका परिभाषा में और नीचे दिए गए तरीके का पालन करें:

SQL> CREATE GLOBAL TEMPORARY TABLE tt_temptable(
  2        RowNums NUMBER(3,0) GENERATED ALWAYS AS IDENTITY,
  3        procNums  NUMBER(18,0)
  4    ) ON COMMIT PRESERVE ROWS;

Table created

SQL> 
SQL> DECLARE
  2    inputString  VARCHAR2(50) := '12,13,14,15';
  3  BEGIN
  4      INSERT INTO tt_temptable(procNums)
  5         SELECT REGEXP_SUBSTR (inputString,'[^,]+',1,LEVEL) ProcNums
  6           FROM dual
  7        CONNECT BY  REGEXP_SUBSTR (inputString,'[^,]+',1,LEVEL) IS NOT NULL;
  8  END;
  9  /

PL/SQL procedure successfully completed

SQL> SELECT * FROM tt_temptable;

ROWNUMS            PROCNUMS
------- -------------------
      1                  12
      2                  13
      3                  14
      4                  15

IDENTITY को रीसेट करने के लिए कॉलम (RowNums ), उपयोग करें:

SQL> ALTER TABLE tt_temptable MODIFY( RowNums Generated as Identity (START WITH 1));

जब भी टेबल पर साझा किए गए लॉक जारी किए जाते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JMeter से संग्रहित प्रक्रिया चलाना

  2. SQL क्वेरी स्ट्रिंग में अमान्य वर्ण (ORA-00911)

  3. ORA-12728:रेगुलर एक्सप्रेशन में अमान्य श्रेणी

  4. ओरेकल डेटाबेस के साथ एंटिटी फ्रेमवर्क कनेक्शन

  5. ORA-24550:सिग्नल प्राप्त हुआ:[si_signo=6] त्रुटि