MERGE INTO 업데이트_인서트_대상_테이블 a
USING (조인조건등의 조건 테이블) b
ON (a.id = b.id)
WHEN MATCHED THEN -- On조건이 맞을경우 실행
UPDATE SET a.age = b.age
WHEN NOT MATCHED THEN -- 조건이 안맞을 경우 실행
INSERT VALUES (b.id, 'new name')
INTO - 데이터가 업데이트/삽입될 테이블
USING - 대상 데이터와 비교될 테이블/뷰
ON : INTO 테이블과 USING테이블의 비교 조건
WHEN MATCHED : ON 조건에 맞는 ROW가 있을경우 수행
WHEN NOT MATCHED : ON 조건에 맞는 ROW가 없을 때 수행
* INSERT VALUES 절에서 들어갈 수 있는 데이터(KEY)는 USING테이블에 있는 키여야하며, 키가 아닌 데이터는 들어 상수/변수가 들어갈 수 있음.
* 없으면 INSERT 있으면 UPDATE할 경우 유용.
USING (조인조건등의 조건 테이블) b
ON (a.id = b.id)
WHEN MATCHED THEN -- On조건이 맞을경우 실행
UPDATE SET a.age = b.age
WHEN NOT MATCHED THEN -- 조건이 안맞을 경우 실행
INSERT VALUES (b.id, 'new name')
INTO - 데이터가 업데이트/삽입될 테이블
USING - 대상 데이터와 비교될 테이블/뷰
ON : INTO 테이블과 USING테이블의 비교 조건
WHEN MATCHED : ON 조건에 맞는 ROW가 있을경우 수행
WHEN NOT MATCHED : ON 조건에 맞는 ROW가 없을 때 수행
* INSERT VALUES 절에서 들어갈 수 있는 데이터(KEY)는 USING테이블에 있는 키여야하며, 키가 아닌 데이터는 들어 상수/변수가 들어갈 수 있음.
* 없으면 INSERT 있으면 UPDATE할 경우 유용.