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 |