IT/DBMS

[Oracle]insert into select from table

알 수 없는 사용자 2022. 11. 28. 07:03
반응형

목차

    [Oracle]insert into select from table

    오라클에서 다른 테이블에서 값을 조회해 온 후 한번에 insert할 때 유용함

    -- 문법
    -- 대상 테이블과 참조하는 테이블의 컬럼이 일치하는 경우 insert 컬럼 생략 가능
    INSERT INTO target_table
    SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO
    FROM from_table
    ;
    
    -- 특정 컬럼의 데이터만 조회해서 insert
    INSERT INTO SCOTT.EMP_211209
    (EMPNO, ENAME)
    SELECT EMPNO, ENAME FROM emp
    ;

    테스트

    emp테이블에 데이터가 아래처럼 있고

    아래처럼 emp테이블을 참조한 테스트 테이블을 하나 생성

    먼저 emp테이블에서 모든 컬럼 데이터를 다 가져와서 저장하는 테스트

    다시 emp_211209 테이블의 데이터 삭제

    다시 특정 컬럼값만 조회 후 저장 테스트

    이를 바탕으로 다양하게 응용해서 사용 가능합니다.

    참조 : https://gent.tistory.com/404

     

    [Oracle] 오라클 SELECT 해서 INSERT 하는 방법 (여러개, 서브쿼리)

    오라클에서 쿼리문을 작성할 때 SELECT INSERT를 사용해야 할 경우가 많다. 기본 자료를 조회 후 전달받은 인자 값과 결합하여 INSERT 하거나, 이력 데이터를 저장할 때 자주 사용한다. SELECT INSERT의 경

    gent.tistory.com

    INSERT INTO SELECT 시 시퀀스 값 저장

    INSERT INTO DEV_01.USER_INFO
    (USER_NO, USER_ID, USER_PASSWORD, USER_NAME, USER_EMAIL, USE_YN, REG_DATE, MOD_DATE)
    SELECT 
    USER_NO_SEQ(시퀀스명).NEXTVAL, USER_ID, USER_PASSWORD, USER_NAME, USER_EMAIL, USE_YN , REG_DATE , MOD_DATE 
    FROM USER_INFO
    ;
    -- SELECT절에 시퀀스명.NEXTVAL로 조회하면 됨
    반응형