한번에 데이터 입력, 수정, 삭제 (MERGE)
MERGE INTO table1 t1
USING table2 t2
ON (t1.column1=t2.column1) --JOIN
WHEN MATCHED THEN --MERGE UPDATE절 (JOIN 되면 실행)
UPDATE SET t1.column2=t2.column2
WHEN NOT MATCHED THEN --MERGE INSERT절 (JOIN 안되면 실행)
INSERT (t1.column3, t1.column1, t1.column2) VALUES (10, t2.column1, t2.column2);
: t1.column1과 t2.column1이 같다면, t1.column2에 t2.column2로 수정(UPDATE)하고 그렇지 않으면 t1.column3, t1.column1, t1.column2에 각각 10, t2.column1, t2.column2를 입력함
- JOIN 되면 UPDATE, 안되면 INSERT를 실행
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] 계층형 질의문 - 데이터 서열 (순서 - 분기제거) (0) | 2020.09.22 |
---|---|
[Oracle] 서브쿼리 - 데이터 입력/수정/삭제/통합 (0) | 2020.09.18 |
[Oracle] 데이터 저장과 취소 (COMMIT, ROLLBACK) (0) | 2020.09.17 |
[Oracle] 데이터 삭제 (DELETE, TRUNCATE, DROP) (0) | 2020.09.17 |
[Oracle] 데이터 수정 (UPDATE), LOCK (0) | 2020.09.17 |