초보프로그래머만..

오라클 MERGE INTO

세피롯스 2011. 11. 3. 14:04


오라클 9i이상에서만 사용할수 있는 쿼리

데이터가 있으면 update
데이터가 없으면 insert 처리를 한번의 쿼리로 해결할수 있다.

MERGE INTO [테이블명]
USING [조건에 들어가는 테이블] 
ON [조인조건]
WHEN MATCHED THEN
UPDATE SET <==== UPDATE할 테이블명을 적어주지않는다.
[컬럼] = [값], 무조건 MERGE INTO 하는 테이블에 들어간다.
[컬럼] = [값],
   ...
WHEN NOT MATCHED THEN
INSERT (컬럼1,컬럼2,...)
VALUES(값1,값2,...)


단, 오라클 10g부터는 when not matched then 을 빼고
when matched then만
넣어줘도 된다.
하지만 9i는 반드시 matched와 not matched가 들어가야 한다.