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

PL/SQL प्रक्रिया में डेटाबेस तालिका बनाना

दोनों प्रक्रियाओं को गतिशील SQL का उपयोग करना है:

  • print_info क्योंकि यह एक तालिका में सम्मिलित करता है जो - संकलन के समय - अभी तक मौजूद नहीं है
  • create_table क्योंकि यह डीडीएल चलाता है और - ऐसा करने के लिए - आपको गतिशील एसक्यूएल का उपयोग करने की आवश्यकता है

इसलिए:

SQL> CREATE OR REPLACE PROCEDURE PRINT_INFO
  2  IS
  3  BEGIN
  4    execute immediate q'[INSERT INTO TABLE_T (TABLE_ID, MESSAGE) VALUES (1, 'Hello World!')]';
  5  END PRINT_INFO;
  6  /

Procedure created.

SQL> CREATE OR REPLACE PROCEDURE CREATE_TABLE
  2  IS
  3  BEGIN
  4    execute immediate 'CREATE TABLE TABLE_T(' ||
  5      'TABLE_ID NUMBER NOT NULL, ' ||
  6      ' MESSAGE VARCHAR2(25), '    ||
  7      ' PRIMARY KEY(TABLE_ID) '    ||
  8      ')';
  9
 10    PRINT_INFO;
 11  END CREATE_TABLE;
 12  /

Procedure created.

SQL> EXEC CREATE_TABLE;

PL/SQL procedure successfully completed.

SQL> SELECT * FROM table_t;

  TABLE_ID MESSAGE
---------- -------------------------
         1 Hello World!

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल डेवलपर 4

  2. एक विशेष शर्त के साथ समूह कैसे करें

  3. sql . में संघ खंड

  4. SQL डेवलपर 4.1.3 जारी किया गया

  5. XML से SQL स्कीमा बनाना