IT

MERGE INTO 테이블명

USING DUAL ON(     //조건절

  컬럼1 = 값1 and 컬럼2 = 값2

)

WHEN MATCHED THEN
  UPDATE SET 컬럼3 = 값3, 컬럼4 = 값4

WHEN NOT MATCHED THEN
  INSERT
    (

    컬럼1,컬럼2,컬럼3,컬럼4
    )
    VALUES
    (

    값1,값2,값3,값4
    )

- using 테이블명 : 대상의 테이블의 데이터와 비교한후 update 또는 insert할 대상이 되는 데이터의 source 테이블 또는 뷰를 지정

 

주의사항

Merge into 문은 기본적으로

where 조건절과 update 컬럼을 함께 사용할 수 없습니다.

즉 on (a.user_id = b.user_id)라고 user_id 컬럼을 조건절로 사용하였다면

update set user_id = xxxx라고 변경할 수 없습니다.

 

조건절을 변경하거나 update절을 변경하여야 합니다.

'소프트웨어 > Oracle' 카테고리의 다른 글

오라클 힌트  (0) 2013.07.15
오라클 페이징 쿼리  (0) 2013.06.30
엔티티 도메인 추가 & Subject Area 생성  (0) 2011.05.31
[erwin7.2] logical/physical model  (0) 2011.05.30
erwin7.2 클린삭제 가이드  (0) 2011.05.30
Posted by sinpk