임의의 d1, d2 테이블 가정후 임의의 데이터 입력 후
merge문 작성
d2 테이블에 d1테이블의 값을 들이 부우는 격..
따라서 d2의 deptno=2 값은 aa로 수정되고
d2의 deptno=1 값은 없으므로 입력됨...
ex>
MERGE INTO CODEBOOK A
USING DUAL
ON ( A.CODE_TYPE = NVL(?CODE_TYPE, '')
AND CODE_ID = NVL(?CODE_ID, '') )
WHEN MATCHED THEN
UPDATE SET CODE_NAME = NVL(?CODE_NAME, '')
, PARENT_TYPE = NVL(?PARENT_TYPE, '')
, PARENT_ID = NVL(?PARENT_ID, '')
, ETC1 = NVL(?ETC1, '')
, ETC2 = NVL(?ETC2, '')
, ETC3 = NVL(?ETC3, '')
, SORT_KEY = NVL(?SORT_KEY, '')
, USE_YN = NVL(?USE_YN, '')
, UPD_USERID = NVL(?P_GU_ID, '')
, UPD_DATETIME = SYSDATE
WHEN NOT MATCHED THEN
INSERT ( CODE_TYPE
, CODE_ID
, CODE_NAME
, PARENT_TYPE
, PARENT_ID
, ETC1
, ETC2
, ETC3
, SORT_KEY
, USE_YN
, REG_USERID
, REG_DATETIME )
VALUES ( ?CODE_TYPE
, ?CODE_ID
, NVL(?CODE_NAME, '')
, NVL(?PARENT_TYPE, '')
, NVL(?PARENT_ID, '')
, NVL(?ETC1, '')
, NVL(?ETC2, '')
, NVL(?ETC3, '')
, NVL(?SORT_KEY, '')
, NVL(?USE_YN, '')
, NVL(?P_GU_ID, '')
, SYSDATE )
'Oracle' 카테고리의 다른 글
여러테이블에 동시에 한테이블이 데이터를 입력 (0) | 2013.11.20 |
---|---|
index : 인덱스 (0) | 2013.02.15 |
sequence : 시퀀스 (0) | 2013.02.14 |
alter : 테이블 변경 (0) | 2013.02.14 |
테이블 복제와 데이터 삽입 (0) | 2013.02.13 |