MERGE [ hint ] INTO [ schema. ] { table | view } [ t_alias ] USING { [ schema. ] { table | view } | subquery } [ t_alias ] ON ( condition )WHEN MATCHED THENUPDATE SET column = { expr | DEFAULT } [, column = { expr | DEFAULT } ]...[ DELETE where_clause ]WHEN NOT MATCHED THENINSERT [ (column [, column ]...) ]VALUES ({ expr [, expr ]... | DEFAULT })
MERGE [ hint ] INTO [ schema. ] { table | view } [ t_alias ] USING { [ schema. ] { table | view } | subquery } [ t_alias ] ON ( condition )WHEN MATCHED THENUPDATE SET column = { expr | DEFAULT } [, column = { expr | DEFAULT } ]...[ DELETE where_clause ]WHEN NOT MATCHED THENINSERT [ (column [, column ]...) ]VALUES ({ expr [, expr ]... | DEFAULT })
- - INTO : DATA가 UPDATE되거나 INSERT 될 테이블 또는 뷰를 지정.
- - USING : 비교할 SOURCE 테이블 또는 뷰나 서브쿼리를 지정, INTO절의 테이블과 동일하거나 다를 수 있다.
- - ON : UPDATE나 INSERT를 하게 될 조건으로, 해당 조건을 만족하는 DATA가 있으면 WHEN MATCHED 절을 실행하게 되고, 없으면 WHEN NOT MATCHED 이하를 실행하게 된다.
- - WHEN MATCHED : ON 조건절이 TRUE인 ROW에 수행 할 내용 (UPDATE, DELETE포함 될 수 있음)
- - WHEN NOT MATCHED : ON 조건절에 맞는 ROW가 없을 때 수행할 내용 (INSERT)
'Database > Oracle' 카테고리의 다른 글
| [Error] 오라클 Error 모음 (0) | 2014.08.04 |
|---|---|
| [DB] 오라클 버전 정보 확인 쿼리 (0) | 2014.08.04 |
| [Oracle] SUBSTR, INSTR (0) | 2013.12.05 |
| [OUTER JOIN] sql outer join (0) | 2013.12.04 |
| Outer Join (LEFT, RIGHT, FULL OUTER JOIN) (0) | 2013.12.03 |