투케이2K

116. (Oracle/오라클) merge into 문을 사용해서 데이터가 존재할 경우 update , 데이터가 존재하지 않을 경우 insert 수행 실시 본문

OracleDB

116. (Oracle/오라클) merge into 문을 사용해서 데이터가 존재할 경우 update , 데이터가 존재하지 않을 경우 insert 수행 실시

투케이2K 2021. 3. 6. 18:39

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Toad

개발 언어 : Oracle

/* =========================== */

/* =========================== */

[소스 코드]

 

/*
[merge into 문을 사용해서 데이터가 존재할 경우 update , 데이터가 존재하지 않을 경우 insert 수행 실시]
1. merge into 문을 사용해서 데이터가 존재할 경우 update , 데이터가 존재하지 않을 경우 insert 수행합니다
2. MATCHED - 데이터가 존재할 경우 수행됩니다
3. NOT MATCHED - 데이터가 존재하지 않은 경우 수행됩니다 
*/

MERGE INTO TEST_USER -- 사용할 테이블
            USING DUAL -- 비교할 테이블
            ON (T_IDX = TRIM('0')) -- 조건 절
            -- T_IDX = 0 인 데이터가 존재하는 경우
            WHEN MATCHED THEN
                      UPDATE SET
                            T_NAME = '고길동'
                                                                                   
            -- T_IDX = 0 인 데이터가 존재하지 않는 경우                
            WHEN NOT MATCHED THEN
                      INSERT (T_IDX, T_NAME, T_SEX, T_AGE, T_DEPT, T_PHONE, T_ADDR, T_RANK, T_MARRI, T_FAMILLY, T_HOBBY) 
                                 VALUES ('0', '고길동', 'M', '55', '조선', '010-1234-5555', 'A1-0', '대리', 'X', '2', '독서');

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

1. merge into 문을 사용해서 데이터가 존재할 경우 update , 데이터가 존재하지 않을 경우 insert 수행합니다

2. MATCHED - 데이터가 존재할 경우 수행됩니다

3. NOT MATCHED - 데이터가 존재하지 않은 경우 수행됩니다

/* =========================== */

반응형
Comments