본문 바로가기

DB

Oracle(MERGE)

반응형

MERGE 문은 조건을 비교해서 태이블에 해당 조건에 맞는 데이터가 없으면  INSERT 있으면 UPDAT를 수행하는 문장이다. 특정 조건에 따라 어떤 때는 INSERT를 또 다른경우에는 UPDATE를 수행하는 문장이다. 특정 조건에 따라 어떤 때는 INSER를 또, 다른 경우에는  UPDAT문을 수행해야 할때, 과거에는 해당 조건을 처리하는 로직을 별도로 작성해야 했지만 MERGE문이 나온덕분에 이제 한 문장으로 처리할 수 있게 되었다.

 

MERGE INTO [스키아.] 테이블명
 USING(UPDATE나 INSER될 데이터 원천)
 	ON(UPDATE 될 조건)
     WHEN MATCHED THEN 
     SET 컬럼1 = 값1 , 컬럼2 = 값2..
     WHERE UPDATE 조건
     	DELETE WHERE UPDATE_DELETE 조건
        WHEN NOT MATCHED THEN INSERT (컬럼1,컬럼2) VALUES(값1,값2..)
        WHERE INSERT 조건;
        
        

 MERGE 문은 INSERT UPDATE에 비해 다소 복잡하다

 

 

반응형

'DB' 카테고리의 다른 글

Oracle(표현식)  (0) 2020.12.23
Oracle(의사컬럼)  (0) 2020.12.23
Oracle (index)  (0) 2020.12.21
오라클 View  (0) 2020.12.21
Oracle(트리거생성,UPDATE,INSERT)  (0) 2020.12.10