我在Oracle中的merge into语句中遇到一种奇怪的行为。实际上,几天前,我的语句过去运行良好,并且所请求的列正在更新。但是,到目前为止,我发现它不再更新该列。如果这是与环境有关的问题,或者与查询本身有关的问题,我会感到困惑。你能告诉我吗?
查询:
merge into Currency_table CURR
using (
SELECT CURR.rowid as RID, M_SYSTEM
FROM Currency_table CURR, Trade_ext TRN_EXT, TradeGen TRN, CONTRACT CNT
WHERE CNT.M_REFERENCE= 123
AND CNT.M_REFERENCE = TRN.M_CONTRACT
AND TRN.M_NumB = TRN_EXT.M_C_REF
AND TRN_EXT.M_C_REF = CURR.M_NumBer
)T
on ( CURR.rowid = T.RID)
when matched then
update set CURR.MSYSTEM = 'S1' ;