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

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

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

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

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

1. GETLENGTH

獲取指定字段的長(zhǎng)度

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

2. OPEN

打開LOB對(duì)象

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ù)中讀取指定長(zhǎng)度數(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í)際讀取的字符數(shù)
    offset   IN  INTEGER,      --  起始位置
    buffer   OUT  RAW/VARCHAR2    -— 存儲(chǔ)返回?cái)?shù)據(jù)的變量
);

4. WRITE

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

DBMS_LOB.WRITE(
    lob_loc  IN  OUT  NOCOPY  BLOB/CLOB,   -- 被寫入 LOB
    amount   IN  BINARY_INTEGER,   -- 寫入長(zhǎng)度(指寫入 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,       --追加到的目標(biāo)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

截?cái)郘OB數(shù)據(jù)中從第一位置開始指定長(zhǎng)度的部分?jǐn)?shù)據(jù)的過程

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

8. CLOSE

關(guān)閉已經(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,   -- 提取長(zhǎng)度
    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

比較二個(gè)大對(duì)象是否相等。返回?cái)?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ù)中指定位置的部分?jǐn)?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復(fù)制到目標(biāo)LOB

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

14. CREATETEMPORARY

在用戶的臨時(shí)表空間中,建立臨時(shí)LOB

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

15. ISTEMPORARY

確定定位符是否為臨時(shí)LOB

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

16. FILEEXISTS

確定FILE_LOC對(duì)應(yīng)的OS文件是否存在。

1:存在;0:不存在

DBMS_LOB.FILEEXISTS(file_loc  IN  BFILE) RETURN  INTEGER;

17. FILEGETNAME

獲取BFILE定位符所對(duì)應(yīng)的目錄別名和文件名

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

18. FILEISOPEN

確定BFILE對(duì)應(yīng)的OS文件是否打開

DBMS_LOB.FILEISOPEN(file_loc  IN  BFILE)  RETURN  INTEGER;

19. FREETEMPORARY

釋放在默認(rèn)臨時(shí)表空間中的臨時(shí)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

關(guān)閉打開的BFILE定位符所指向的OS文件

DBMS_LOB.FILECLOSE(FILE_LOC  IN  OUT  NOCOPY  BFILE);

23. FILECLOSEALL

關(guān)閉當(dāng)前會(huì)話已經(jīng)打開的所有BFILE文件

DBMS_LOB.FILECLOSEALL();

總結(jié)

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

相關(guān)文章

最新評(píng)論

汕头市| 英德市| 商水县| 象州县| 张家川| 五寨县| 阿瓦提县| 会东县| 民丰县| 阳曲县| 辽阳市| 大城县| 丰原市| 永定县| 广平县| 汕头市| 屏山县| 宁国市| 嵩明县| 贡觉县| 文水县| 郴州市| 横山县| 望都县| 铁力市| 沙洋县| 江门市| 杭州市| 桓台县| 临湘市| 随州市| 宜阳县| 高州市| 庆云县| 苍山县| 横峰县| 九江县| 保亭| 张掖市| 亚东县| 内江市|