본 문서에서는 Tibero 다중 테이블 내 Insert 수행 방법과 예제를 안내합니다.
NOTE!
본 문서는 아래 환경에서 테스트했습니다.
[tibero@T1:/tibero]$ tbboot -v
Tibero 6 (DB 6.0 FS06_CS_1703)
Linux stopbugs 2.6.9-89.ELsmp #1 SMP Mon Jun 22 12:31:33 EDT 2009 x86_64 x86_64 x86_64
GNU/Linux version (little-endian)
Patch files (none)
1. Insert 수행 방법
1.1. 수행 방법
한번의 쿼리로 다중 테이블에 INSERT 수행 시 다음과 같은 방법을 사용할 수 있습니다.
- Unconditional INSERT ALL : 다수의 INSERT 문을 모두 수행합니다. (※ SELECT 결과를 여러 테이블에 INSERT 시, 데이터 타입이 일치해야 합니다.)
- Conditional INSERT ALL : WHEN 조건에 부합되는 ROW를 여러 테이블에 INSERT하여 수행합니다.
- Conditional INSERT FIRST : WHEN 조건 중에 가장 먼저 만족하는 경우만 INSERT를 수행합니다. 나머지 조건절의 INSERT 는 수행하지 않습니다.
1.2. 테스트용 테이블 생성
drop table emp;
CREATE TABLE TIBERO.EMP (
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
)
insert into EMP values (7369, 'SMITH', 'CLERK', 7902, TO_DATE('1980/12/17', 'YYYY/MM/DD'), 800, null, 20);
insert into EMP values (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('1981/02/20', 'YYYY/MM/DD'), 1600, 300, 30);
insert into EMP values (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('1981/02/22', 'YYYY/MM/DD'), 1250, 500, 30);
insert into EMP values (7566, 'JONES', 'MANAGER', 7839, TO_DATE('1981/04/02', 'YYYY/MM/DD'), 2975, null, 20);
insert into EMP values (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('1981/09/28', 'YYYY/MM/DD'), 1250, 1400, 30);
insert into EMP values (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1981/05/01', 'YYYY/MM/DD'), 2850, null, 30);
insert into EMP values (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('1981/06/09', 'YYYY/MM/DD'), 2450, null, 10);
insert into EMP values (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('1987/04/19', 'YYYY/MM/DD'), 3000, null, 20);
insert into EMP values (7839, 'KING', 'PRESIDENT', null, TO_DATE('1981/11/17', 'YYYY/MM/DD'), 5000, null, 10);
insert into EMP values (7844, 'TURNER', 'SALESMAN', 7698, TO_DATE('1981/09/08', 'YYYY/MM/DD'), 1500, 0, 30);
insert into EMP values (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('1987/05/23', 'YYYY/MM/DD'), 1100, null, 20);
insert into EMP values (7900, 'JAMES', 'CLERK', 7698, TO_DATE('1981/12/03', 'YYYY/MM/DD'), 950, null, 30);
insert into EMP values (7902, 'FORD', 'ANALYST', 7566, TO_DATE('1981/12/03', 'YYYY/MM/DD'), 3000, null, 20);
insert into EMP values (7934, 'MILLER', 'CLERK', 7782, TO_DATE('1982/01/23', 'YYYY/MM/DD'), 1300, null, 10);