오라클 MERGE INTO - 한번에 INSERT, UPDATE 하기
DB/ORACLE 2013. 8. 19. 18:28USING (table | view | subquery) alias -- 하나의 테이블만 이용한다면 DUAL 활용
ON (join condition) -- WHERE절에 조건 쓰듯이
WHEN MATCHED THEN -- ON 이하의 조건에 해당하는 데이터가 있는 경우
UPDATE SET col1 = val1[, ...] -- UPDATE 실행
WHEN NOT MATCHED THEN -- ON 이하의 조건에 해당하는 데이터가 없는 경우
INSERT (column lists) VALUES (values); -- INSERT 실행
USING employees e
ON (c.employee_id = 200911)
WHEN MATCHED THEN
UPDATE SET
c.first_name = e.first_name,
c.last_name = e.last_name,
c.email = e.email,
......
WHEN NOT MATCHED THEN
INSERT (c.employee_id, c.first_name, c.last_name, ...... )
VALUES (e.employee_id, e.first_name, e.last_name, ...... );
USING DUAL
ON (employee_id = 200911)
WHEN MATCHED THEN
UPDATE SET
first_name = 'John',
last_name = 'Petrucci',
email = 'dream@johnpetrucci.com',
......
WHEN NOT MATCHED THEN
INSERT (first_name, last_name, email, ...... )
VALUES ('John', 'Petrucci', 'dream@johnpetrucci.com', ...... );
'DB > ORACLE' 카테고리의 다른 글
DBMS_APPLICATION_INFO 패키지 사용 (0) | 2013.12.13 |
---|---|
ORA-01861 : literal does not match format string (0) | 2013.10.23 |
오라클 DELETE, UPDATE 후 COMMIT 한 데이터 복구하는 방법 (2) | 2013.09.27 |
ORA-01403 (0) | 2013.08.14 |
ORA-00911: 문자가 부적합합니다. (0) | 2013.07.25 |