더북(TheBook)

04 | 다중 테이블 INSERT

마지막으로 알아 볼 다중 테이블 INSERT 구문은 단 하나의 INSERT 문장으로 여러 개의 INSERT 문을 수행하는 효과를 낼 수 있을 뿐만 아니라 특정 조건에 맞는 데이터만 특정 테이블에 입력되게 할 수 있는 문장이다. 먼저 다중 테이블 INSERT 문의 구문을 살펴 보자.

    INSERT ALL| FIRST
    WHEN 조건1 THEN
     INTO [스키마.]테이블명(컬럼1, 컬럼2, ...) VALUES(값1, 값2, ...)
    WHEN 조건2 THEN
     INTO [스키마.]테이블명(컬럼1, 컬럼2, ...) VALUES(값1, 값2, ...)
        ...
     ELSE
      INTO [스키마.]테이블명(컬럼1, 컬럼2, ...) VALUES(값1, 값2, ...)
    SELECT 문;

ALL: 디폴트 값으로 이후 WHEN 조건절을 명시했을 때 각 조건이 맞으면 INSERT를 모두 수행하라는 의미다.

FIRST: 이후 WHEN 절 조건식에 따른 INSERT문을 수행할 때, 서브 쿼리로 반환된 로우에 대해 조건이 참인 WHEN 절을 만나면 해당 INSERT문을 수행하고 나머지에 대해서는 조건 평가를 하지 않고 끝낸다.

WHEN 조건 THEN … ELSE: 특정 조건에 따라 INSERT를 수행할 때 해당 조건을 명시.

SELECT 문: 다중 테이블 INSERT 구문에서는 반드시 서브 쿼리가 동반되어야 하며, 서브 쿼리의 결과를 조건에 따라 평가해 데이터를 INSERT 한다.

여기까지만 보면 아직 감이 오지 않을 것이다. 어떤 식으로 활용하고 사용하는지 각 유형별로 살펴보기로 하자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.