다중 테이블에 다중 행 입력하기
- 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;
'2. Database > 2_1 Oracle' 카테고리의 다른 글
[Oracle] ROLLBACK이란? (0) | 2020.05.18 |
---|---|
[Oracle] FOREIGN KEY(외래키) 제약 조건 설정 (0) | 2020.05.15 |
[Oracle] REGEXP_REPLACE() - 특정 패턴을 찾아 바꾸는 함수 (1) | 2020.03.26 |
[Oracle] REGEXP_COUNT() - 특정 문자의 개수를 세는 함수 (0) | 2020.03.26 |
[Oracle] RATIO_TO_REPORT() - 비율을 구하는 함수 (0) | 2020.03.26 |