카테고리 없음

[Oracle] MERGE INTO 사용방법?

하맨디 2023. 5. 4. 16:17

하나의 테이블 혹은 두개의 테이블을 가지고

특정 조건으로 비교해본 뒤

- 조건에 맞으면 UPDATE/ UPDATE 후에 DELETE

- 조건에 맞지 않으면 INSERT 수행

 

MERGE INTO STDNT A
USING DUAL
ON A.NAME = '하맨디'
WHEN MATCHED THEN
    UPDATE SET A.AGE = 100 WHERE A.NAME = '하맨디'
    DELETE WHERE A.NAME = '하맨디'
WHEN NOT MATCHED THEN
	INSERT (NAME, AGE) VALUES ('하맨디', 100);

 

MERGE INTO 사용할 테이블
USING 비교할 테이블(단일 테이블인 경우 DUAL)
ON (비교조건)   >> 비교한 컬럼명은 UPDATE 불가능
    WHEN MATCHED THEN
           UPDATE SET  WHERE 조건
           DELETE WHERE 조건   >> 생략가능
    WHEN NOT MATCHED THEN
           INSERT (컬럼들) VALUES (값들);