-
Merge (통합)SQL 2020. 2. 13. 19:53
Merge란?
- 조건에 따라서 데이터의 삽입, 삭제, 갱신 작업을 한번에 수행 가능
- 해당 행이 존재하는 경우 UPDATE / DELETE를 수행하고, 새로운 행일 경우 INSERT 수행한다.
- 대상 테이블에 대한 UPDATE / INSERT 조건은 ON 절에 의해 결정된다.
MERGET Syntax
- INTO : data가 UPDATE 되거나 INSERT 될 테이블 또는 뷰를 지정
- USING : 비교할 테이블 또는 VIEW나 SUB-QUERY를 지정
* INTO 절의 테이블과 동일하거나 다를 수 있음
리터럴 값도 올 수 있음 - USING (VALUES (리터럴 값1), (리터럴 값 2) )
- ON : UPDATE나 INSERT를 하게 될 조건으로, 해당 조건을 만족하는 data가 있으면
WHEN MATCHGED 절을 실행, 없으면 WHEN NOT MATCHED 절을 실행
- WHEN MATCHED : ON 조건절이 TRUE인 ROW에 수행 할 내용 (UPDATE, DELETE)
- WHEN NOT MATCHED : ON 조건절에 맞는 ROW가 없을 때 수행할 내용 (INSERT)
실습
1.
2.
3.
'SQL' 카테고리의 다른 글
REPORT GROUP 함수 - ROLLUIP, CUBE, GROUPING (0) 2020.02.13 WINDOW FUNCTION (윈도우 함수) (0) 2020.02.13 Multiple INSERT (0) 2020.02.13 Data Dictionary (0) 2020.02.13 Synonym (동의어) (0) 2020.02.13