• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Oracle里面使用臨時表解決表沖突一例

    發表于:2007-07-13來源:作者:點擊數: 標簽:
    平臺:windows 2000 server sp3 數據庫: Oracle 9.0.1.1.1 現場描述:用戶抱怨不能同時對多個單位進行數據處理,執行出現的錯誤信息為: SQL exec sp_hyb_da_ryxx_dwbh_test('331028') BEGIN sp_hyb_da_ryxx_dwbh_test('331028'); END; *ERROR 位于第 1 行:

    平臺:windows 2000 server sp3

    數據庫:Oracle 9.0.1.1.1

    現場描述:用戶抱怨不能同時對多個單位進行數據處理,執行出現的錯誤信息為:

    SQL> exec sp_hyb_da_ryxx_dwbh_test('331028')

    BEGIN sp_hyb_da_ryxx_dwbh_test('331028'); END;

    *ERROR 位于第 1 行:

    ORA-02055: 分布式更新操作失效;要求回退

    ORA-06502: PL/SQL: 數字或值錯誤 : 字符串緩沖區太小

    ORA-06512: 在"SIDB.SP_HYB_DA_RYXX_DWBH_TEST", line 55

    ORA-06502: PL/SQL: 數字或值錯誤 : 字符串緩沖區太小

    ORA-06512: 在"SIDB.SP_HYB_DA_RYXX", line 145

    ORA-06502: PL/SQL: 數字或值錯誤 : 字符串緩沖區太小

    ORA-06512: 在"SIDB.SP_HYB_DA_RYXX_YZ1", line 25

    ORA-20901: 過程SP_HYB_DAXX出錯;grbh = 1000607288 ORA-02049: 超時:

    分布式事務處理等待鎖定

    請聯系系統管理員;1

    ORA-06512: 在line 1

    經檢查后發現是后臺存儲過程中使用了‘臨時’表,這些臨時表用于臨時保存部分正式表的數據,應用程序存儲過程的代碼形如:

    DELETE <TEMP TABLE>;

    INSERT INTO <TEMP TABLE> SELECT *FROM <NORMAL TABLE> WHERE …;

    這種方法造成了在同時執行的時候由于對<TEMP TABLE>鎖定的等待而只能同時進行一個單位的數據處理。

    可以通過使用Oracle真正意義上的臨時表消除對臨時表的鎖定。

    臨時表的基本定義是:數據庫中的所有會話均可以訪問臨時表,但只有插入數據到臨時表中的會話才能看到本身插入的數據??梢园雅R時表指定為事務相關(默認)或者是會話相關:

    (  

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>