반응형
MERGE INTO 넣을_테이블
USING 테이터_테이블
/**
USING(
SELECT 컬럼들...
FROM 서브쿼리들 블라블라
)
*/
ON
(
넣을_테이블.컬럼1 = 데이터_테이블.컬럼1
AND 넣을_테이블.컬럼2 = 데이터_테이블.컬럼2
...
)
WHEN MATCHED THEN
UPDATE 넣을_테이블.컬럼3 = 데이터_테이블.컬럼3
,넣을_테이블.컬럼4 = 데이터_테이블.컬럼4
WHEN NOT MATCHED THEN
INSERT
(
컬럼들
)
VALUES
(
컬럼들
)
;
USING을 통해 한줄을 읽어와서 WHEN으로 비교한다.
따라서 ROWNUM 같은 테이블성 함수는 하고 싶으면 USING내에서만 쓸수 있다.
반응형
'DB > 오라클' 카테고리의 다른 글
[오라클][PLSQL] 테이블과 초기화 (0) | 2014.11.07 |
---|---|
[오라클] 특정 문자로 문자열 자르기 (0) | 2014.11.05 |
[오라클] UPDATE SELECT 시 주의점 (0) | 2014.11.05 |
[오라클] DROP, DELETE, TRUNCATE 차이 (0) | 2014.11.03 |
[오라클] IN으로 여러 컬럼 비교 (0) | 2014.10.31 |
WRITTEN BY
,