일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 싱글턴
- bootstrap
- wrapper
- 자동형변환
- 루프
- start.spring.io
- 언박싱
- 내장객체
- 스프링
- 제네릭
- 콜렉션
- maven
- 컬렉션
- 메소드
- Scanner
- Jenkins
- dependency
- boxing
- Java
- https://start.spring.io
- unboxing
- 싱글톤
- 박싱
- Short
- suvlet
- 빌드
- 제너릭
- 무한
- 클래스
- 인텔리제이
Archives
- Today
- Total
Developer Gonie
MERGE INTO 문(ON절의 조건에 따른 분기 실행) 본문
MERGE INTO 문의 기능
UPDATE, INSERT, DELETE 문을 각각 상황에 따라 분기시켜 처리하기 위해 사용된다.
기본 구조는 아래와 같다.
MERGE
INTO 테이블
USING 테이블 ON 조건
WHEN MATCHED THEN ~
WHEN NOT MATCHED THEN ~
그리고 실행흐름은 아래와 같다.
ON에 사용된 조건절의 결과가 USING 테이블에 대해 TRUE이면
WHEN MATCHED 의 THEN 절이 실행되며
반대로 FALSE이면
WHEN MATCHED 의 THEN 절이 실행된다.
예시1
MERGE
INTO emp a
USING dual
ON (a.empno = 7788)
WHEN MATCHED THEN
UPDATE
SET a.deptno = 20
WHEN NOT MATCHED THEN
INSERT (a.empno, a.ename, a.deptno)
VALUES (7788, 'SCOTT', 20);
예시2
MERGE
INTO job_history a
USING emp b
ON (a.empno = 7788 AND a.empno = b.empno)
WHEN MATCHED THEN
UPDATE
SET a.job = b.job
, a.deptno = b.deptno
WHEN NOT MATCHED THEN
INSERT (a.empno, a.job, a.deptno)
VALUES (b.empno, b.job, b.deptno);
'개인 공부 > Oracle' 카테고리의 다른 글
UNION ALL, UNION (쿼리문의 결과를 합치는 연산) (0) | 2023.04.17 |
---|---|
CASE WHEN ~ THEN ~ ELSE END (0) | 2023.03.31 |
Oracle에서 rownum을 이용한 where절 작성시 1을 반드시 포함해야 하는 이유 (0) | 2022.10.19 |
참고하고있는 것 무시하고 삭제, 참고하고 있는 것들도 자동 삭제 (0) | 2022.09.21 |
Comments