ORACLE LOB 大對象處理

來源:互聯網
上載者:User

標籤:oracle lob

LOB大對象處理:主要是用來儲存大量資料的資料庫欄位,最大可以儲存4G位元組的非結構化資料。主要介紹字元類型和二進位檔案類型LOB資料的儲存,單獨介紹二進位類型LOB資料的儲存。


.  Oracle中的LOB資料類型分類
1,按儲存資料的類型分:
①字元類型:
  CLOB:儲存大量單位元組字元資料。
  NLOB:儲存定寬多位元組字元資料。
②二進位類型:
  BLOB:儲存較大無結構的位元據。
③二進位檔案類型:
  BFILE:將二進位檔案儲存在資料庫外部的作業系統檔案中。存放檔案路徑。

2,按儲存方式分:
①儲存在內部資料表空間:
   CLOB,NLOB和BLOB
 ②指向外部作業系統檔案:
   BFILE


二、大對象處理方法。參考書 美河提供.精通Oracle.10g.Pl.SQL編程

1、DBMS_LOB.Read():從LOB資料中讀取指定長度資料到緩衝區的過程。

    DBMS_LOB.Read(LOB資料,指定長度,起始位置,

儲存返回LOB類型值變數);

2、DBMS_LOB.SubStr():從LOB資料中提取子字串的函數。

    DBMS_LOB.SubStr(LOB資料,指定提取長度,提取起始位置): 

③:DBMS_LOB.InStr():從LOB資料中尋找子字串位置的函數。
   DBMS_LOB.InStr(LOB資料, 子字串);

④:DBMS_LOB.GetLength():返回指定LOB資料的長度的函數。
   DBMS_LOB.GetLength(LOB資料);

⑤:DBMS_LOB.Compare():比較二個大對象是否相等。返回數值0為相等,-1為不相等。
   DBMS_LOB.Compare(LOB資料,LOB資料);

6、DBMS_LOB.Write():將指定數量的資料寫入LOB的過程。
   DBMS_LOB.Write(被寫入LOB, 寫入長度(指寫入LOB資料),寫入起始位置(指被寫入LOB),寫入LOB資料);

7、DBMS_LOB.Append():將指定的LOB資料追加到指定的LOB資料後的過程。
   DBMS_LOB.Append(LOB資料,LOB資料);

8、DBMS_LOB.Erase():刪除LOB資料中指定位置的部分資料的過程;
   DBMS_LOB.Erase(LOB資料,指定刪除長度, 開始刪除位元置);

9、DBMS_LOB.Trim():截斷LOB資料中從第一位置開始指定長度的部分資料的過程;
   DBMS_LOB.Trim(LOB資料,截斷長度);

10、DBMS_LOB.Copy():從指定位置開始將源LOB複製到目標LOB;
   DBMS_LOB.Copy(源LOB,目標LOB,複製源LOB長度,複製到目標LOB開始位置,複製源LOB開始位置)


例如:迴圈輸出xml大資料內容

declare

amount number;

buf varchar2(10000) := ‘‘;

temp varchar2(1000) := ‘‘;

begin 

  amount := 1;

  for i in 1..200 loop

    temp := ‘‘;

    select dbms_lob.substr(krm.doc_content(clob類型),400,amount) into temp from km_review_main/*@ekp_link*/ krm

    where krm.fd_id = ‘138eb83e89178bcce17136b43f8ab176‘;

    amount := amount + 400;

    DBMS_OUTPUT.put_line(temp);

  end loop;

  end;




參考網站:

http://blog.csdn.net/tianlesoftware/article/details/5070981




ORACLE LOB 大對象處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.