Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Bulk insert with insert select

SQL> SQL> create table EMP (   2   EMPNO NUMBER(8),   3   ENAME VARCHAR2(20),   4   HIREDATE DATE,   5   SAL NUMBER(7,2),   6   DEPTNO NUMBER(6) ); Table created. SQL> SQL> SQL> create table DEPT (   2   DEPTNO NUMBER(6),   3   DNAME VARCHAR2(20) ); Table created. SQL> SQL> SQL> alter table EMP add constraint EMP_PK primary key (EMPNO); Table altered. SQL> SQL> SQL> alter table DEPT add constraint DEPT_PK primary key (DEPTNO); Table altered. SQL> SQL> create table myTable ( x varchar2(10)); Table created. SQL> SQL> begin   2       for i in 1 .. 200 loop   3          insert into myTable values ('x');   4       end loop;   5   end;   6  / PL/SQL procedure successfully completed. SQL> commit; Commit complete. SQL> SQL> insert into EMP select rownum, 'Name'||rownum, sysdate+rownum/100, dbms_random.value(7500,10000), dbms_random.value(1,10) from myTable   2  where rownum <= 500; 200 rows created. SQL> SQL> insert into DEPT select rownum, 'Dept'||rownum from myTable where rownum <= 10; 10 rows created. SQL> SQL> drop table EMP; Table dropped. SQL> drop table DEPT; Table dropped. SQL> drop table myTable; Table dropped.