신기방기~~
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 |