MERGE INTO 구문은 TABLE에 존재하는 데이터는 그대로 변경만 하고
없는 데이터는 삽입하여 적절하게 통합하기 위한 예약어다.
MERGEINTO 구문은 대상 테이블 해당 KEY에 맞는 데이터가 이미 존재하면 UPDATE
존재하지 않으면 INSERT를 하여 테이블 ROW가 충돌나지 않으며 데이터를 UPDATE,INSERT 등의 작업을 한번에 해줄 수 있다.
MERGE INTO MELON_CHART M1
USING MELON_CHART NEW M2
ON (M1.SINGER = M2.SINGER AND M1.SONG = M2.SONG)
WHEN MATCHED THEN
UPDATE SET M1.RANKING = M2.RANKING, M1.RANKING = 'CONTUNUE'
WHEN NOT MATCHED THEN
INSERT VALUES (M2.RANKING, M2.SINGER, M2.SONG);
SELECT * FROM MELON_CHART
MERGE INTO MELON_CHART M1
USING MELON_CHART NEW M2
ON (M1.SINGER = M2.SINGER AND M1.SONG = M2.SONG)
WHEN MATCHED THEN
UPDATE SET M1.RANKING = M2.RANKING, M1.RANKING = 'CONTUNUE'
WHEN NOT MATCHED THEN
INSERT VALUES (M2.RANKING, M2.SINGER, M2.SONG, 'NEW');
SELECT * FROM MELON_CHART WHERE REMARK IS NOT NULL ORDER BY RANKING;