key words: update,ORA-01779
經(jīng)常用到update語句,不過很少用到其他表的數(shù)據(jù)來更新當(dāng)前表,這次用到了,總結(jié)一下
UPDATE
( SELECT /*+ BYPASS_UJVC */
a.groupname a1,b.groupname b1 from t_account_temp a,t_certificode_temp b
where a.certificode = b.certificode
)
SET a1=b1;
特別的地方是要加 /*+ BYPASS_UJVC */,讓oracle不檢查健的約束,否則會(huì)報(bào)ORA-01779錯(cuò)誤,不過前提是你確認(rèn)確實(shí)不會(huì)有多個(gè)b表的值出現(xiàn),或者即使有多個(gè)值也沒有影響。
相關(guān)參考如下