반응형
MERGE INTO ···정의
값의 존재 여부에 따라서 INSERT, UPDATE, DELETE를 실행하는 쿼리문으로 자바에서 IF문과 비슷한 역할을 수행
MERGE INTO ··· 사용 방법
MERGE INTO [TABLE / VIEW] -- UPDATE, INSERT 할 테이블 혹은 뷰 USING [TABLE / VIEW / DUAL] -- 비교할 대상 테이블 혹은 뷰 ON [조건] -- 비교 조건 WHERE MATCHED THEN -- 조건과 일치할 경우 UPDATE SET . . . WHEN NOT MATCHED THEN -- 조건과 불일치할 경우 INSERT( )VALUES ( )
MERGE INTO ··· 실행

MERGE INTO FOOD USING DUAL ON (FOOD_NAME = '탕수육') WHEN MATCHED THEN UPDATE SET FOOD_ID = '250' WHEN NOT MATCHED THEN INSERT( FOOD_ID , PARENT_FOOD_ID , FOOD_NAME ) VALUES ( 250 , 120 , '돈까스' )
FOOD_NAME 컬럼에 '탕수육' 이라는 데이터가 존재한다면 FOOD_ID 를 '250'으로 수정하고, 존재하지 않는다면 '돈까스' 라는 데이터를 INSERT 해라.
현재 FOOD 테이블에 값이 존재하므로 FOOD_NAME 컬럼에 '탕수육' 이라는 데이터를 가진 FOOD_ID 가 '250'으로 수정된 것을 확인할 수 있습니다.

반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
[ORACLE] 집합 연산자 종류와 사용 방법 (합집합/교집합/차집합) (0) | 2021.12.11 |
---|---|
[ORACLE] BLOB 타입 조회하는 방법 (0) | 2021.12.02 |
[ORACLE] 인덱스 (Index) 조회, 사용 여부 조회 및 리빌드 (2) | 2021.12.02 |
[ORACLE] 인덱스 (Index) 생성과 삭제 및 사용 시 주의사항 (0) | 2021.12.01 |
[ORACLE] 계층형 쿼리 START WITH ··· CONNECT BY (0) | 2021.11.30 |