[oracle] merge into 구문
|
▶merge into 구문 |
|
MERGE INTO target_table_name -sample sql
MERGE INTO giro_detail a
USING (select GD_USER_ID,GD_TRADE_TYPE,GD_JONG_MOK,GD_NUMBER,GD_DONG_CD,GD_SND_AREA_CD,GD_DETAIL_ADDRESS,GD_ZIP,
GD_ACNT_NO,GD_ACNTER_NAME,GD_ACNTER_TYPE_CD,GD_ACNTER_TYPE_NO,GD_BANK_CD,GD_DUMMY_FLAG from GIRO_DETAIL_TEMP) b
ON (a.gd_user_id = b.gd_user_id)
WHEN MATCHED THEN
UPDATE SET
a.GD_TRADE_TYPE= b.GD_TRADE_TYPE,
a.GD_JONG_MOK= b.GD_JONG_MOK,
a.GD_NUMBER= b.GD_NUMBER,
a.GD_DONG_CD= b.GD_DONG_CD,
a.GD_SND_AREA_CD= b.GD_SND_AREA_CD,
a.GD_DETAIL_ADDRESS= b.GD_DETAIL_ADDRESS,
a.GD_ZIP= b.GD_ZIP,
a.GD_ACNT_NO= b.GD_ACNT_NO,
a.GD_ACNTER_NAME= b.GD_ACNTER_NAME,
a.GD_ACNTER_TYPE_CD= b.GD_ACNTER_TYPE_CD,
a.GD_ACNTER_TYPE_NO= b.GD_ACNTER_TYPE_NO,
a.GD_BANK_CD= b.GD_BANK_CD
WHEN NOT MATCHED THEN
INSERT (a.GD_USER_ID,
a.GD_TRADE_TYPE,
a.GD_JONG_MOK,
a.GD_NUMBER,
a.GD_DONG_CD,
a.GD_SND_AREA_CD,
a.GD_DETAIL_ADDRESS,
a.GD_ZIP,
a.GD_ACNT_NO,
a.GD_ACNTER_NAME,
a.GD_ACNTER_TYPE_CD,
a.GD_ACNTER_TYPE_NO,
a.GD_BANK_CD,
a.GD_DUMMY_FLAG)
VALUES(
b.GD_USER_ID,
b.GD_TRADE_TYPE,
b.GD_JONG_MOK,
b.GD_NUMBER,
b.GD_DONG_CD,
b.GD_SND_AREA_CD,
b.GD_DETAIL_ADDRESS,
b.GD_ZIP,
b.GD_ACNT_NO,
b.GD_ACNTER_NAME,
b.GD_ACNTER_TYPE_CD,
b.GD_ACNTER_TYPE_NO,
b.GD_BANK_CD,
b.GD_DUMMY_FLAG);
MERGE INTO AAAAA A |