乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      merge into出現(xiàn)ORA

       種下一粒籽 2011-12-21
      merge into出現(xiàn)ORA-30926
      2011-07-01 10:44

      最近在調(diào)整一個(gè)入庫(kù)程序,現(xiàn)在使用策略是,將所有數(shù)據(jù)全部插入到一張臨時(shí)表,然后將臨時(shí)表全表merge到正式表中,然后刪除臨時(shí)表。

      實(shí)際調(diào)整中遇到了兩個(gè)問(wèn)題:

      1)原來(lái)采用了批量入庫(kù),后來(lái)調(diào)整為單條入庫(kù),現(xiàn)在插入臨時(shí)表又改為批量入庫(kù),批量入庫(kù)時(shí)遇到了一個(gè)問(wèn)題就是在setString之前一定要設(shè)置字段大?。ǜ鶕?jù)數(shù)據(jù)庫(kù)建表時(shí)的字段大?。H绻麤](méi)有這么做,會(huì)報(bào)一個(gè)錯(cuò)誤?!癘RA-01461: 僅可以為插入 LONG 列的 LONG 值賦值”。全部縷了一遍之后,還是會(huì)出現(xiàn)這個(gè)問(wèn)題,后來(lái)查了一些資料,發(fā)現(xiàn)時(shí)因?yàn)橛衏lob字段,clob字段在單條入庫(kù)時(shí)是不需要set大小的。但是在批量入庫(kù)時(shí)需要,所以要根據(jù)clob字段實(shí)際大小來(lái)設(shè)置,或者設(shè)置一個(gè)固定的最大值。我猜想這是oralce自身優(yōu)化策略,即在批量入庫(kù)時(shí),必須要設(shè)定一個(gè)大小,這樣oracle才會(huì)將所有數(shù)據(jù)完整又有效率的保存起來(lái),然后一次性插入。

       

      2)在merge的時(shí)候也遇到一個(gè)問(wèn)題,出現(xiàn)”O(jiān)RA-30926: 無(wú)法在源表中獲得一組穩(wěn)定的行?!斑@個(gè)問(wèn)題原因比較簡(jiǎn)單,因?yàn)樵趍erge into時(shí)需要設(shè)定一個(gè)key值,會(huì)根據(jù)這個(gè)key值來(lái)決定merge into的操作(update還是insert into),所以要求在merge時(shí)這個(gè)key值是唯一的。所以要先從臨時(shí)表中選出全部數(shù)據(jù)而且key值是唯一的。語(yǔ)句實(shí)例:

      select a.* from MERGE_TEST_TMP a where a.mid = (select max(MERGE_TEST_TMP.Mid) from MERGE_TEST_TMP where MERGE_TEST_TMP.MKEY=a.mkey) order by a.Mid desc; 

      解決完這兩個(gè)問(wèn)題,調(diào)整也就告一段落了。over!

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多