此系统包必须在 SYS 下创建。但是此系统包提供的操作在当前调用用户下执行,而不在 SYS 下执行。

    从匿名 PL 块调用的任何 DBMS_LOB 子程序都要使用当前用户权限来执行。从存储子程序调用的任何 DBMS_LOB 子程序都要使用存储子程序所有者的权限来执行。

    在创建子程序时,用户可以设置 AUTHID 来指示需要定义者的权限还是调用者的权限。如下例所示:

    或者

      所有 DBMS_LOB 子程序都基于 LOB 定位器进行工作。为了成功完成 DBMS_LOB 子程序操作,必须提供一个输入定位器,该输入定位器代表数据库表空间或外部文件系统中已经存在的 LOB

      下表列出了 OceanBase 数据库当前版本所支持的 DBMS_LOB 子程序和简要描述。

      子程序

      描述

      将源 LOB 的内容附加到目标 LOB

      CLOSE

      关闭先前打开的内部或外部 LOB

      将源内部 LOB 的全部或一部分复制到目标内部 LOB

      CREATETEMPORARY

      在默认的临时表空间中创建一个临时 BLOB 或 及对应的索引。

      释放默认的临时表空间中的临时 BLOBCLOB

      ERASE

      擦除全部或部分 LOB

      获取 LOB 值的长度。

      检查是否已经使用输入定位器打开了 LOB

      INSTR

      返回在 LOB 模式中第 n 次发生匹配位置。

      在指示的模式下打开 LOB(内部、外部或临时)。

      READ

      从指定偏移量开始读取 LOB 的数据。

      从指定的偏移量开始返回部分 LOB 值。

      TRIM

      LOB 值修剪为指定的较短长度。

      从指定的偏移量开始将数据写入 。

      将缓冲区写入 LOB 的末尾。