• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Oracle批量更新表的大字段值

    發布時間:  2012/9/17 17:00:40

    blob類型字段
    1.前提 id=316083730656 的content字段有值
    update docs set content=Empty_Blob()
    where id<>316083730656

    Declare
    src_Blob Blob;
    v_Blob Blob;
    Amount Binary_Integer; -
     

    Offset Integer;
    cursor testCursor is
    select content
    from docs
    where  id<>316083730656 and format='.pdf'
    for update ;
    Begin
    Select content Into src_Blob From docs Where Id = 316083730656 for update;
    open testCursor;
    loop
    fetch testCursor into v_Blob ;
    DBMS_LOB.OPEN(src_Blob, DBMS_LOB.LOB_READWRITE);
    Dbms_Lob.Open(v_Blob, Dbms_Lob.Lob_Readwrite);
    Amount := Lengthb(src_Blob);
    Offset := 1;
    Dbms_Lob.copy(v_Blob,src_Blob, Amount, Offset,Offset);
    Dbms_Lob.Close(v_Blob);
    Dbms_lob.close(src_Blob);
    exit when testCursor%notfound;
    end loop;
    close testCursor;
    End;

    clob類型字段
    1.前提 id=316688448842 的clob類型的Abstract字段字段有值
    update docs set Abstract=Empty_clob()
    where id <> 316688448842

    declare
    src_Clob Clob;
    v_Clob Clob;
    Amount Integer;
    Offset Integer;
    cursor testCursor is
    select Abstract
    from docs
    where  id<>316688448842
    for update ;
    Begin
    Select Abstract Into src_Clob From docs Where Id = 316688448842 for update;
    open testCursor;
    loop
    fetch testCursor into v_Clob ;
    DBMS_LOB.OPEN(src_Clob, DBMS_LOB.LOB_READWRITE);
    Dbms_Lob.Open(v_Clob, Dbms_Lob.Lob_Readwrite);

    Dbms_Lob.append(v_Clob,src_Clob);
    Dbms_Lob.Close(v_Clob);
    Dbms_lob.close(src_Clob);
    exit when testCursor%notfound;
    end loop;
    close testCursor;
    End;

    注意。前面的update語句一定要先執行。要不再做批量更新的時候會提示錯誤的。

    這里更新的值為同一個值可以在循環的時候獲取不同的值來進行更新


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線