MERGE INTO 구문
기존의 오라클 UPDATE JOIN VIEW 기능으로, 2개의 테이블을 조인하여 데이터를 업데이트하거나 새로 추가해 준다.
-- 참조 URL : https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF01606 -- 보너스 테이블에 직원ID를 조회하여 존재하면 기존연봉의 0.01 를 보너스로 업데이트하고 -- 직원ID가 존재하지 않으면, 새로추가한다. 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 DELETE WHERE (S.SALARY > 8000) WHEN NOT MATCHED THEN INSERT ( D.EMPLOYEE_ID , D.BONUS ) VALUES ( S.EMPLOYEE_ID , S.SALARY * .01 ) WHERE (S.SALARY <= 8000);
최신 댓글