TIL

오라클 MERGE문

하얀잔디 2022. 12. 16. 14:53

신기방기~~

TAG를 만들다가, MERGE 라는 처음보는 SQL 문법을 보았다.

 

MERGE문은 조건에 따라서 데이터의 삽입, 갱신, 삭제 작업을 한번에 할 수 있게 해주는 것입니다.

해당 행이 존재하는 경우 , UPDATE or DELETE 문을 수행하고, 

새로운 행인 경우, INSERT 문을 수행함.

 

어떻게 그러면 그 조건을 아는가?

흔치않은 

WHEN NOT MATCHED THEN 과

WHEN  MATCED THEN 을 쓰면 된다!

 

 

 

  • INTO : DATA UPDATE되거나 INSERT 될 테이블 또는 뷰를 지정.
  • USING : 비교할 SOURCE 테이블 또는 뷰나 서브쿼리를 지정, INTO절의 테이블과 동일하거나 다를 수 있다.
  • ON : UPDATE INSERT를 하게 될 조건으로, 해당 조건을 만족하는 DATA가 있으면 WHEN MATCHED 절을 실행하게 되고, 없으면 WHEN NOT MATCHED 이하를 실행하게 된다.
  • WHEN MATCHED : ON 조건절이 TRUE ROW에 수행 할 내용 (UPDATE, DELETE포함 될 수 있음)
  • WHEN NOT MATCHED : ON 조건절에 맞는 ROW가 없을 때 수행할 내용 (INSERT)

'TIL' 카테고리의 다른 글

@Column (name = " " ) name 대소문자 관리  (0) 2022.12.26
[java] Pattern, Matcher  (0) 2022.12.20
[자바] Execute, ExecuteQuery, ExecuteUpdate 차이점  (0) 2022.12.16
ResultSet  (0) 2022.12.13
면접준비 쪼금만  (0) 2022.12.02