Dev/Oracle
[Oracle] MERGE
흰바다제비
2022. 6. 24. 16:27
728x90
- MERGE UPDATE 문법
MERGE INTO TABLE_A A
USING TABLE_B B /* 서브쿼리 사용 가능 */
ON (A.KEY = B.KEY)
WHEN MATCHED THEN UPDATE
SET A.COLUMN1 = B.COLUMN1 ;
→ KEY 값이 일치하면 A의 COLUMN1 를 B.COLUMN1 값으로 UPDATE
2. MERGE INSERT 문법
MERGE INTO TABLE_A A
USING TABLE_B B
ON (A.KEY = B.KEY)
WHEN NOT MATCHED THEN INSERT
(A.COLUMN1, A.COLUMN2, A.COLUMN3)
VALUES (B.COLUMN1, B.COLUMN2, B.COLUMN3) ;
→ KEY 값이 일치하지 않으면 해당하는 KEY의 B 테이블 DATA INSERT
3. MERGE UPDATE & INSERT 문법
MERGE INTO TABLE_A A
USING TABLE_B B
ON (A.KEY = B.KEY)
WHEN MATCHED THEN UPDATE
SET A.COLUMN1 = B.COLUMN1
WHEN NOT MATCHED THEN INSERT
(A.COLUMN1, A.COLUMN2, A.COLUMN3)
VALUES (B.COLUMN1, B.COLUMN2, B.COLUMN3) ;
→ KEY 값이 일치하면 A의 COLUMN1 를 B.COLUMN1 값으로 UPDATE
일치하지 않으면 해당하는 KEY의 B 테이블 DATA INSERT
SQL Language Reference
docs.oracle.com
728x90