Copying selected columns from multiple tables : Copy Table « Table « Oracle PL / SQL






Copying selected columns from multiple tables

   

SQL> CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
  2                    ENAME VARCHAR2(10),
  3                    JOB VARCHAR2(9),
  4                    MGR NUMBER(4),
  5                    HIREDATE DATE,
  6                    SAL NUMBER(7, 2),
  7                    COMM NUMBER(7, 2),
  8                    DEPTNO NUMBER(2));
SQL>
SQL> INSERT INTO EMP VALUES (7369, 'SMITH', 'CLERK',    7902, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
SQL> INSERT INTO EMP VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
SQL> INSERT INTO EMP VALUES (7521, 'WARD',  'SALESMAN', 7698, TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
SQL> INSERT INTO EMP VALUES (7566, 'JONES', 'MANAGER',  7839, TO_DATE('2-APR-1981',  'DD-MON-YYYY'), 2975, NULL, 20);
SQL> INSERT INTO EMP VALUES (7654, 'MARTIN', 'SALESMAN', 7698,TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
SQL> INSERT INTO EMP VALUES (7698, 'BLAKE', 'MANAGER', 7839,TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
SQL> INSERT INTO EMP VALUES (7782, 'CLARK', 'MANAGER', 7839,TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
SQL> INSERT INTO EMP VALUES (7788, 'SCOTT', 'ANALYST', 7566,TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES (7839, 'KING', 'PRESIDENT', NULL,TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
SQL> INSERT INTO EMP VALUES (7844, 'TURNER', 'SALESMAN', 7698,TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
SQL> INSERT INTO EMP VALUES (7876, 'ADAMS', 'CLERK', 7788,TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
SQL> INSERT INTO EMP VALUES (7900, 'JAMES', 'CLERK', 7698,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
SQL> INSERT INTO EMP VALUES (7902, 'FORD', 'ANALYST', 7566,TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
SQL> INSERT INTO EMP VALUES (7934, 'MILLER', 'CLERK', 7782,TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);
SQL>
SQL> CREATE TABLE DEPT (DEPTNO NUMBER(2),DNAME VARCHAR2(14),LOC VARCHAR2(13) );
SQL>
SQL> INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
SQL> INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
SQL> INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
SQL> INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');
SQL>
SQL> select * from emp;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
SQL>
SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
SQL>
SQL>
SQL>
SQL> -- Copying selected columns from multiple tables
SQL>
SQL> CREATE TABLE newTable
  2  AS (SELECT emp.empno, dept.deptno, emp.ename FROM emp, dept);
SQL>
SQL> select * from newTable;

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7369         10 SMITH
      7499         10 ALLEN
      7521         10 WARD
      7566         10 JONES
      7654         10 MARTIN
      7698         10 BLAKE
      7782         10 CLARK
      7788         10 SCOTT
      7839         10 KING
      7844         10 TURNER
      7876         10 ADAMS

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7900         10 JAMES
      7902         10 FORD
      7934         10 MILLER
      7369         20 SMITH
      7499         20 ALLEN
      7521         20 WARD
      7566         20 JONES
      7654         20 MARTIN
      7698         20 BLAKE
      7782         20 CLARK
      7788         20 SCOTT

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7839         20 KING
      7844         20 TURNER
      7876         20 ADAMS
      7900         20 JAMES
      7902         20 FORD
      7934         20 MILLER
      7369         30 SMITH
      7499         30 ALLEN
      7521         30 WARD
      7566         30 JONES
      7654         30 MARTIN

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7698         30 BLAKE
      7782         30 CLARK
      7788         30 SCOTT
      7839         30 KING
      7844         30 TURNER
      7876         30 ADAMS
      7900         30 JAMES
      7902         30 FORD
      7934         30 MILLER
      7369         40 SMITH
      7499         40 ALLEN

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7521         40 WARD
      7566         40 JONES
      7654         40 MARTIN
      7698         40 BLAKE
      7782         40 CLARK
      7788         40 SCOTT
      7839         40 KING
      7844         40 TURNER
      7876         40 ADAMS
      7900         40 JAMES
      7902         40 FORD

     EMPNO     DEPTNO ENAME
---------- ---------- ----------
      7934         40 MILLER
SQL>
SQL> drop table newTable;
SQL>
SQL>
SQL> drop table dept;
SQL>
SQL> drop table emp;
SQL>
SQL>

           
         
    
    
  








Related examples in the same category

1.Use copy command to create new table
2.Create a copy table and insert value to it
3.Copying selected columns from another table
4.CREATE Table from another table with consitions
5.Duplicate some or all of the data in one table under a different table name
6.Create a copy table with primary key setting
7.Copying table
8.Copying table structure not data
9.Create table as select * from another
10.Create a copy table from all_objects
11.Creating from Another Table
12.The table is created with no rows if the query returned no rows.