每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點(diǎn)是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評(píng)論 :: 0 Trackbacks
          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)參考如下

          一種高效率的update多表關(guān)聯(lián)更新測(cè)試

          ORA-01779的處理方法

          posted on 2007-08-19 12:49 Alex 閱讀(2290) 評(píng)論(1)  編輯  收藏 所屬分類: Oracle

          評(píng)論

          # re: 利用其他表的數(shù)據(jù)update當(dāng)前表[未登錄] 2011-12-06 15:59 aimy
          這個(gè)語句強(qiáng),
          很受用,謝謝。  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 大化| 商南县| 克东县| 梧州市| 昭平县| 莒南县| 崇州市| 邢台市| 海门市| 平阴县| 南雄市| 甘肃省| 江口县| 陵川县| 旬邑县| 阳泉市| 忻州市| 张家港市| 全南县| 柘荣县| 汤阴县| 常山县| 喀什市| 南华县| 陇川县| 舒城县| 偏关县| 凯里市| 凤阳县| 玉屏| 和田县| 永泰县| 永善县| 锡林浩特市| 崇礼县| 阳信县| 五指山市| 衡水市| 丹东市| 东源县| 乌兰县|