기술 정보
home
채널 소개
home

Tibero 다중 테이블 Insert 수행 예제 (3)

문서 유형
기술 정보
분야
관리/환경설정
키워드
INSERT ALL
다중 테이블
1 more property

개요

Tibero에서 Conditional INSERT FIRST 구문을 사용하여 하나의 쿼리로 여러 테이블에 데이터를 동시에 삽입하는 예제를 안내합니다.

Conditional INSERT FIRST

Conditional INSERT FIRST를 사용하면 특정 조건에 맞는 행만 원하는 테이블에 입력할 수 있습니다.
주의
처음 만족하는 조건절만 수행합니다.
서브쿼리로의 결과 행을 WHEN … THEN 절에서 체크한 후 조건에 맞는 절에 기술된 테이블에 INSERT 작업을 수행합니다.
-- Conditional INSERT FIRST Syntax INSERT FIRST WHEN 조건절 1 THEN INTO [테이블 1] VALUES (컬럼 1,컬럼 2,...) WHEN 조건절 2 THEN INTO [테이블 2] VALUES (컬럼 1,컬럼 2,...) ........ ELSE INTO [테이블 3] VALUES (컬럼 1,컬럼 2,...) Subquery;
SQL
복사

방법

앞서 Conditional INSERT ALL 의 예제를 INSERT FIRST로 변경합니다.
다음과 같이 첫번째 조건을 만족하면 그 다음 조건은 수행하지 않게 됩니다. 따라서, 두 조건을 모두 만족하는 7900 JAMES 는 두번째 조건절을 수행하지 않아 emp_empno 테이블에는 입력이 되지 않습니다.
1. 테스트용 테이블 생성
-- 테스트용 테이블 emp_empno, emp_sal 을 생성합니다. DROP TABLE emp_empno; DROP TABLE emp_sal; CREATE TABLE emp_empno AS SELECT empno, ename, job, sal, deptno FROM emp WHERE 1=2; CREATE TABLE emp_sal AS SELECT empno, ename, job, sal, deptno FROM emp WHERE 1=2;
SQL
복사
2. 테이블 생성 확인
-- 테이블이 정상적으로 생성되었는지 확인해 봅니다. SELECT * FROM emp_empno; SELECT * FROM emp_sal;
SQL
복사
3. INSERT FIRST를 이용한 조건 분기 삽입
-- empno >= 7876 인 사원은 emp_empno 테이블에 INSERT -- sal <= 1000 인 사원은 emp_sal 테이블에 INSERT INSERT FIRST WHEN empno >= 7876 THEN INTO emp_empno VALUES (empno, ename, job, sal, deptno) WHEN sal <= 1000 THEN INTO emp_sal VALUES (empno, ename, job, sal, deptno) SELECT empno, ename, job, sal, deptno FROM emp;
SQL
복사
4. 결과 확인
-- emp_empno 테이블에 데이터가(empno >= 7876) 정상적으로 등록 되었는지 확인해 봅니다. SELECT * FROM emp_empno; EMPNO ENAME JOB SAL DEPTNO ------- ------ --------- ---- ------- 7876 ADAMS CLERK 1100 20 7900 JAMES CLERK 950 30 7902 FORD ANALYST 3000 20 7934 MILLER CLERK 1300 10 4 rows selected. -- emp_sal 테이블에 데이터가(sal <= 1000) 정상적으로 등록 되었는지 확인해 봅니다. SELECT * FROM emp_sal; EMPNO ENAME JOB SAL DEPTNO ------- ------ ------ ---- ------- 7369 SMITH CLERK 800 20 1 row selected.
SQL
복사