血的教訓換來的,最後一定要加where條件。否則,會將沒有關聯上的數據字段更新成null.
update TM_INS_PROPOSAL TIP
set (Total_Amount,
Receivable_Busi_Amount,
Vehicle_Relation,
Busi_Ins_Code,
Com_Ins_Code
)=(select Total_Amount,
Receivable_Busi_Amount,
Vehicle_Relation,
Busi_Ins_Code,
Com_Ins_Code
from TM_INS_PROPOSAL TEMP
where TIP.ENTITY_CODE = TEMP.ENTITY_CODE
and TIP.PROPOSAL_CODE = TEMP.PROPOSAL_CODE)
where exists(select 1
from TM_INS_PROPOSAL TEMP
WHERE TIP.ENTITY_CODE = TEMP.ENTITY_CODE
and TIP.PROPOSAL_CODE = TEMP.PROPOSAL_CODE
)
參考:ORACLE 兩表關聯更新三種方式