[Oracle] Merge into

|

what?

- insert, update, delete 작업을 하나의 쿼리문으로 할때

- verison

  - 9i 부터 merge 사용가능

  - 10g 부터 delete 절 사용 가능

 

Merge
INTO temp_table A -- 데이터가 들어갈 target 
USING table2 B -- 단일테이블인 경우 dual을 사용
ON A.id = B.id -- 조건절
WHEN MATCHED THEN -- 일치하는 경우
	UPDATE SET A.seq = B.seq
    DELETE
WHEN BOT MATCHED THEN -- 불일치하는 경우
	INSERT (A.a, A.b, B.c)
    VALUES (B.d, B.e, A.f);

 

기타

- on 조건절에 사용할 컬럼을 업데이트하면 오류가 발생함.

'DATABASE(SQL)' 카테고리의 다른 글

[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법  (0) 2023.10.13
[Oracle] 월별 집계 쿼리  (1) 2023.10.13
[Oracle] DB Link  (0) 2023.08.25
SQL 실행계획  (0) 2023.08.21
[MS-SQL] Begin Tran  (0) 2023.08.10
And