C. Oracle
MERGE INTO
sfeg
2017. 7. 2. 22:56
MERGE INTO : 조건이 맞으면 데이터를 UPDATE 하고 틀리면 INSERT 하는 쿼리
MERGE Statement
MERGE
INTO
Insert 나 update 할 타겟 테이블
USING
타켓 테이블에 들어갈 소스 데이터
ON
인서트 할 것인지 업데이트 할것인지를 결정하는 조건 즉
(조건이 맞으면 업데이트문 실행 조건이 맞지 않으면 인서트 문을 실행)
WHEN MATCHED THEN
조건이 맞았을 때 쿼리문
WHEN NOT MATCHED THEN
조건이 맞지 않았을 때 쿼리문
오라클 도큐먼트에 있는 예문)
MERGE INTO bonuses D
USING (SELECT employee_id, salary, department_id FROM employees
WHERE department_id = 80) S
ON (D.employee_id = S.employee_id)
WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01
WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
VALUES (S.employee_id, S.salary*0.1);