본문 바로가기
IT/Oracle

오라클 MERGE INTO 알아보기

by flatsun 2019. 5. 27.
반응형

일단 MERGE INTO를 사용하기 전에

이렇게 생긴 테이블이 있다는 것을 알아두자

 

MERGE INTO는 조건을 하나 주고 맞으면 ~하고

아니면 ~한다 이런 내용인데 IF ELSE가 생각나지 않나

 

MERGE INTO는 조건에 맞으면 UPDATE 아니면 INSERT 이런 내용으로 주로 사용된다

 

예제로 한번 확인해보자

 

 

MERGE INTO로 뭔가 할 테이블을 정하고

USING으로 비교할 테이블을 정한다

자기 자신과 비교할 경우에는 DUAL을 사용해 주면 된다

 

이후 ON으로 비교 조건문을 만들고

(중복 방지를 위해 KEY를 비교해야 한다..)

 

조건에 충족했을 경우에는

WHEN MATCHED THEN

 

조건에 충족하지 않았을 경우에는

WHEN NOT MATCHED THEN

으로 끝낸다

 

이후 실행해 보면 NAME이 KIM인 사람이 있었기에 VAL이 999로 바뀐 것이 보인다

 

다음으로는 조건에 충족하지 않은

WHEN NOT MATCHED THEN의 상황을 알아보자

 

조건문에 설정한 NAME이 CHOI인 사람은 없으므로

INSERT가 되어 'HAHA', 99로 삽입이 된 것이 보인다

반응형

댓글