데이터베이스(DB)
데이터베이스(DB) - MERGE -> INSERT+UPDATE로 바꾸기
yes or yes
2017. 8. 14. 15:58
반응형
MERGE는 INSERT문을 하는데 그 INSERT(입력)할 정보가 있으면 UPDATE(수정)하라는 말인데요 흠...
쉽게말해서 없으면 넣고 있으면 수정하자는 말이죠... 설명을 더럽게 못해서 MERGE문은 구글링 부탁드려요..;;
●먼저 MERGE의 기본문법
MERGE INTO 테이블이름
USING DUAL /*한개의 테이블만 이용하려면 DUAL을 사용합니다*/
ON (조건) /*조건문입니다*/
WHEN MATCHED THEN /*데이터가 있을 경우*/
UPDATE SET 업데이트내용 /*UPDATE(수정)*/
WHEN NOT MATCHED THEN /* 데이터가 없을 경우*/
INSERT (컬럼이름) VALUES (값); /*INSERT(입력)*/
●본격적인 MERGE문을 INSERT+UPDATE문으로 바꾸기
MERGE INTO 테이블이름
USING DUAL
ON ( AA = #AA#
AND BB=#BB#)
WHEN MATCHED THEN
UPDATE SET CC= #CC#
WHEN NOT MATCHED THEN
INSERT (AA, BB, CC)
VALUES (#AA#, #BB#, #CC#);
※위의 MERGE문을 INSERT+UPDATE로 바꾸면
INSERT INTO 테이블이름(AA, BB, CC)
VALUES(#AA#, #BB#, #CC#);
UPDATE 테이블이름
SET CC=#CC#
WHERE AA = #AA# AND BB=#BB#;
이렇게 따로할 수 있는데 그냥 MERGE문 쓰는게 답입니다...반응형