반응형
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 |