最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle-DBMS_LOB函數(shù)和用法說明

 更新時間:2026年06月05日 10:49:55   作者:0.0雨  
這段描述主要er descriptionDBMS_LOB函數(shù)用于操作BLOB、CLOB、BFILE、NCLOB等數(shù)據(jù)類型,涵蓋打開、讀取、寫入、追加、截斷等操作,并提供比較、刪除、復制等功能,適用于數(shù)據(jù)庫大對象管理

DBMS_LOB函數(shù)適用于 BLOB、CLOB、BFILE、NCLOB 等字段類型

  • BFILE:是把文件放在數(shù)據(jù)庫外,數(shù)據(jù)庫只是記錄了文件位置(可以指向表)
  • BLOB:是把文件內(nèi)容放在數(shù)據(jù)庫里面,但也得借助bfile才能把文件內(nèi)容存放到數(shù)據(jù)庫。

1. GETLENGTH

獲取指定字段的長度

DBMS_LOB.GETLENGTH(lob_loc  IN  BLOB/CLOB/BFILE/NCLOB) RETURN  INTEGER;

2. OPEN

打開LOB對象

DBMS_LOB.OPEN(
    lob_loc    IN  OUT  NOCOPY  BLOB/CLOB/BFILE,
    open_mode  IN  BINARY_INTEGER    -- 只讀:DBMS_LOB.LOB_READONLY;讀寫:DBMS_LOB.LOB_READWRITE
);

3. READ

從 LOB 數(shù)據(jù)中讀取指定長度數(shù)據(jù)到緩沖區(qū)(變量中)的過程

DBMS_LOB.READ(
    lob_loc  IN  BLOB/CLOB/BFILE,     -- LOB 數(shù)據(jù)
    amount   IN  OUT  NOCOPY  BINARY_INTEGER),    -- IN:要讀取的字符數(shù);OUT:實際讀取的字符數(shù)
    offset   IN  INTEGER,      --  起始位置
    buffer   OUT  RAW/VARCHAR2    -— 存儲返回數(shù)據(jù)的變量
);

4. WRITE

將指定數(shù)量的數(shù)據(jù)寫入LOB的過程。

DBMS_LOB.WRITE(
    lob_loc  IN  OUT  NOCOPY  BLOB/CLOB,   -- 被寫入 LOB
    amount   IN  BINARY_INTEGER,   -- 寫入長度(指寫入 LOB 數(shù)據(jù))
    offset   IN  INTEGER,          -- 寫入起始位置(指被寫入 LOB)
    buffer   IN  RAW/VARCHAR2      -- 寫入 LOB 的數(shù)據(jù)
);

5. APPEND

將指定的LOB數(shù)據(jù)追加到指定的LOB數(shù)據(jù)后的過程。

DBMS_LOB.APPEND(
    dest_lob  IN  OUT  NOCOPY  BLOB,       --追加到的目標LOB
    src_lob   IN  BLOB                     -- 用來追加的LOB
);

6. WRITEAPPEND

將緩沖區(qū)數(shù)據(jù)寫到LOB尾部

    DBMS_LOB.WRITEAPPEND(
        lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,
        amount   IN  BINARY_INTEGER,
        buffer   IN  RAW/VARCHAR2
    );

7. TRIM

截斷LOB數(shù)據(jù)中從第一位置開始指定長度的部分數(shù)據(jù)的過程

DBMS_LOB.TRIM(
    lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,   --LOB數(shù)據(jù)
    newlen   IN  INTEGER  -- 階段長度
);

8. CLOSE

關閉已經(jīng)打開的LOB

DBMS_LOB.CLOSE(lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/BFILE); 

9. SUBSTR

從LOB數(shù)據(jù)中提取子字符串的函數(shù)。

DBMS_LOB.SUBSTR(
    lob_loc  IN  BLOB/CLOB/BFILE,   -- 提取的來源
    amount   IN  INTEGER:=32762,   -- 提取長度
    offset   IN  INTEGER:=1   -- 開始位置
)RETURN  RAW/VARCHAR2;   -- 提取到的內(nèi)容

10. INSTR

從LOB數(shù)據(jù)中查找子字符串位置的函數(shù)。

DBMS_LOB.INSTR(
    lob_loc  IN  BLOB/CLOB/NCLOB/BFILE,
    pattern  IN  RAW/VARCHAR2,
    offset   IN  INTERGER:=1,
    nth      IN  INTEGER:=1
)RETURN  INTEGER;

11. COMPAPE

比較二個大對象是否相等。返回數(shù)值0為相等,-1為不相等。

DBMS_LOB.COMPARE(
    lob_1       IN  BLOB/CLOB/BFILE,
    lob_2       IN  BLOB/CLOB/BFILE,
    amount      IN  INTEGER:=4294967295,      --要比較的字符數(shù)(CLOB),字節(jié)數(shù)(BLOB)
    offset_1    IN  INTEGER:=1,               --lob_1 的起始位置
    offset_2    IN  INTEGER:=1                --lob_2 的起始位置
);

12. ERASE

刪除LOB數(shù)據(jù)中指定位置的部分數(shù)據(jù)的過程

DBMS_LOB.ERASE(
    lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,
    amount   IN  OUT  NOCOPY  INTEGER,        --字符/字節(jié)數(shù)
    offset   IN  INTEGER:=1                   —起始位置
);

13. COPY

從指定位置開始將源LOB復制到目標LOB

DBMS_LOB.COPY(
    dest_lob     IN  OUT  NOCOPY  BLOB/CLOB/NCLOB,  -- 目標的LOB
    src_lob      IN  BLOB/CLOB/NCOB,    -- 拷貝的來源的LOB
    amount       IN  INTEGER,           -- 拷貝的長度
    dest_offset  IN  INTEGER:=1,        -- 目標從哪里開始接收
    src_offset   IN  INTEGER:=1         -- 來源從來歷開始拷貝
);

14. CREATETEMPORARY

在用戶的臨時表空間中,建立臨時LOB

DBMS_LOB.CREATETEMPORARY(
    lob_loc  IN  OUT  NOCOPY  BLOB/DLOB/NCLOB,
    cache    IN  BOOLEAN,     -- 是否將LOB讀取到緩沖區(qū)
    dur      IN  PLS_INTEGER:=10    -- 指定何時清除臨時LOB(10:會話結束時;12:調(diào)用結束時)
);

15. ISTEMPORARY

確定定位符是否為臨時LOB

DBMS_LOB.ISTEMPORARY(lob_loc  IN  BLOB/CLOB/NCLOB)  RETURN  INTEGER;

16. FILEEXISTS

確定FILE_LOC對應的OS文件是否存在。

1:存在;0:不存在

DBMS_LOB.FILEEXISTS(file_loc  IN  BFILE) RETURN  INTEGER;

17. FILEGETNAME

獲取BFILE定位符所對應的目錄別名和文件名

DBMS_LOB.FILEGETNAME(
    file_loc    IN  BFILE,
    dir_alias   OUT  VARCHAR2,
    filename    OUT  VARCHAR2
);

18. FILEISOPEN

確定BFILE對應的OS文件是否打開

DBMS_LOB.FILEISOPEN(file_loc  IN  BFILE)  RETURN  INTEGER;

19. FREETEMPORARY

釋放在默認臨時表空間中的臨時LOB

DBMS_LOB.FREETEMPORARY(lob_loc  IN  OUT  NOCOPY  BLOB/CLOB/NCLOB);

20. FILEOPEN

打開文件

DBMS_LOB.FILEOPEN(
    file_loc   IN  OUT  NOCOPY  BFILE,
    open_mode  IN  BINARY_INTEGER:FILE_READONLY
);

21. LOADBLOBFROMFILE

將BFILE數(shù)據(jù)裝載到BLOB中,并且在裝載后取得最新的偏移位置

DBMS_LOB.LOADBLOBFROMFILE(
    dest_loc     IN  OUT  NOCOPY  BLOB,
    src_bfile    IN  BFILE,
    amount       IN  INTEGER,
    dest_offset  IN  OUT  INTEGER,
    src_offset   IN  OUT  INTEGER
);

22. FILECLOSE

關閉打開的BFILE定位符所指向的OS文件

DBMS_LOB.FILECLOSE(FILE_LOC  IN  OUT  NOCOPY  BFILE);

23. FILECLOSEALL

關閉當前會話已經(jīng)打開的所有BFILE文件

DBMS_LOB.FILECLOSEALL();

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

西城区| 会同县| 翁源县| 南靖县| 乌什县| 临海市| 阆中市| 涞水县| 杭锦旗| 孟津县| 天柱县| 三台县| 岳池县| 施秉县| 江达县| 横山县| 甘肃省| 噶尔县| 郁南县| 黄冈市| 江永县| 伊金霍洛旗| 天水市| 塔城市| 定结县| 临朐县| 永丰县| 临猗县| 广水市| 阿合奇县| 刚察县| 当阳市| 凉城县| 黄梅县| 冀州市| 观塘区| 济宁市| 应用必备| 团风县| 咸阳市| 慈溪市|