MERGE INTO 사용법
개발/Database2011. 7. 9. 21:13
테이블에서 특정조건의 데이터가 있을 경우 업데이트, 없을 경우 인서트 해야 하는 상황이 종종 발생하는데,
이럴 경우, 오라클 9i 이상에서는 MERGE INTO 쿼리를 이용하여 한번에 해결할 수 있다.
1. 서로 다른 테이블일 경우,
MERGE INTO insert_table_name alias
USING select_table_name alias
ON (select_table 조건절)
WHEN MATCHED THEN -- 조건에 맞다면..
UPDATE SET col1=val1,..
WHEN NOT MATCHED THEN -- 조건에 맞지 않는다면,
INSERT (col1, col2,..)
VALUES(val1, val2,..)
위의 경우, 테이블명을 명시했기 때문에, UPDATE(INSERT) 에 테이블명을 따로 쓰지 않는다.
2. 하나의 테이블일 경우,
USING 테이블명에 DUAL을 써 준다. 나머지 부분은 같다.
'개발 > Database' 카테고리의 다른 글
mysql 소스 설치 (0) | 2011.11.29 |
---|---|
ORACLE 명령문 (0) | 2011.08.02 |
mysql 5.5 db 생성 및 사용자 권한 주기 (0) | 2011.03.23 |
오라클 모니터링 SQL (0) | 2011.02.25 |
Mysql 버전별 DB, USER 생성하기 (0) | 2010.12.29 |