INSERT 서브쿼리 (SELECT INSERT)
INSERT INTO emptable (empno, ename, job, sal, comm, deptno)
SELECT 13
, A.ename
, A.job
, A.sal
, A.comm
, A.deptno
FROM emptable A
WHERE A.empno = 11
VALUES 절 대신에 서브 쿼리 사용 여러 건의 데이터를 INSERT
SELECT로 값을 조회 후 파라미터로 전달된 값과 합쳐서 INSERT를 할 경우 사용
emptable의 empno = 11 인 name, job, sal, comm, deptno를
emptable의 empno = 13에 INSERT 한다.
INSERT ALL
INSERT ALL
WHEN sal >= 3000 THEN
INTO emp_sal1 VALUES (empno, name, sal)
WHEN sal >= 2000 THEN
INTO emp_sal2 VALUES (empno, name, sal)
ELSE
INTO emp_sal3 VALUES (empno, name, sal)
SELECT a.empno
, a.name
, a.sal
FROM emp a
WHERE a.empno = 11
조건에 따라서 여러개의 테이블에 INSERT 할 경우 사용
INSERT FIRST
INSERT FIRST
WHEN sal >= 3000 THEN
INTO table1 VALUES (empno, ename, sal)
WHEN sal >= 2000 THEN
INTO table2 VALUES (empno, ename, sal)
ELSE
INTO table3 VALUES (empno, ename, sal)
SELECT a.empno
, a.ename
, a.sal
FROM emp a
WHERE a.empno = 7788
조건에 만족하는 첫 번째 WHEN~THEN의 테이블에만 INSERT