본문으로 바로가기

   

 

다중 테이블에 다중 행 입력하기

- INSERT ALL 문을 사용하면 서브 쿼리의 결과를 조건 없이 여러 테이블에 동시에 입력할 수 있습니다.

- INSERT ALL 문을 사용하면 두 번의 쿼리문을 실행하지 않고도 하나의 쿼리문으로 두 개의 테이블에 원하는 컬럼 값을 삽입할 수 있습니다.

- 이때 주의할 점은 서브쿼리의 컬럼명과 데이터가 입력되는 테이블의 컬럼명이 동일해야 한다는 것입니다.

INSERT ALL
INTO EMP_HIR VALUES(EMPNO, ENAME, HIREDATE)
INTO EMP_MGR VALUES(EMPNO, ENAME, MGR)
SELECT (EMPNO, ENAME, HIREDATE, MGR) FROM EMP WHERE DEPTNO = 20;

 


조건(WHEN)에 의해 다중 테이블에 다중 행 입력하기

- INSERT ALL 문에 WHEN 절을 추가해서 조건을 제시하여 조건에 맞는 행만 추출하여 테이블에 추가합니다.

INSERT ALL
WHEN HIREDATE > '1982/01/01' THEN
INTO EMP_HIR02 VLAUES(EMPNO, ENAME, HIREDATE)
WHEN SAL >= 2000 THEN
INTO EMP_MGR VALUES(EMPNO, ENAME, SAL)
SELECT (EMPNO, ENAME, HIREDATE, SAL) FROM EMP;