Loop through all to do a bulk insert : Data Insert « PL SQL « Oracle PL / SQL






Loop through all to do a bulk insert

    

SQL> SET ECHO ON
SQL> SET SERVEROUTPUT ON SIZE 1000000
SQL>
SQL> CREATE TABLE myTable
  2  (id                NUMBER              NOT NULL
  3  ,CONSTRAINT id_pk  PRIMARY KEY (id));

Table created.

SQL>
SQL> 
SQL> DECLARE
  2    
  3    TYPE number_table IS TABLE OF myTable.id%TYPE INDEX BY BINARY_INTEGER;
  4
  5    
  6    number_list NUMBER_TABLE;
  7
  8  BEGIN
  9
 10    
 11    FOR i IN 1..10000 LOOP
 12      
 13      number_list(i) := i;
 14
 15    END LOOP;
 16
 17    
 18    FORALL i IN 1..number_list.COUNT
 19      INSERT INTO myTable VALUES (number_list(i));
 20
 21    COMMIT;
 22
 23  END;
 24  /

PL/SQL procedure successfully completed.

SQL>
SQL> drop table myTable;

Table dropped.

SQL>

   
    
    
    
  








Related examples in the same category

1.Use in parameter to pass value and insert value to a table
2.Data insert in a procedure
3.Insert data in procedure
4.Insert value passed in by parameter to a table
5.Insert value to a table after calculation
6.Insert value to product and productcategory with stored procedure
7.Insert value to table with for loop
8.Insert a specified number of suppliers and products per supplier
9.Insert 100000 rows into a table with for loop
10.An anonymous block program to write the record to a row
11.This script demonstrates returning clause
12.Bulk insert with insert ... select
13.Hard code value and insert