비교할 데이터를 조회한 값이 NULL이면 MERGE구문이 실행되지 않는다.
MERGE INTO TABLE A
USING (
    SELECT *
    FROM TABLE
    WHERE CON1 = 'Y'
) B --NULL
ON (A.SEQ = B.SEQ)
--NOT EXECUTE
WHEN MATHCHED THEN
    UPDATE SET
    	UPDATE_DT = SYSDATE
WHEN NOT MATCHED THEN
    INSERT (
    	INSERT_DT
    ) 
    VALUES (
    	SYSDATE
    )

 

  • WHEN NOT MATCHED THEN에 CATCH되지 않는다.
  • ON 조건절에 사용한 컬럼을 업데이트하면 오류가 발생한다.

+ Recent posts