DBMS_LOB 模块
DBMS_LOB 模块能够操作大对象。
在描述各个过程和函数的下列各节中,如果大对象为 BLOB,那么长度和位移以字节计。如果大对象为 CLOB,那么长度和位移以字符计。
DBMS_LOB 模块最多支持 10 MB LOB 数据。
此模块的模式为 SYSIBMADM。
DBMS_LOB 模块包括下列例程,这些例程可包含 BLOB 版本和 CLOB 版本(例如,OPEN 过程具有 OPEN_BLOB 和 OPEN_CLOB 实现)。
| 例程名称 | 描述 |
|---|---|
| APPEND 过程 | 将一个大对象追加至另一个大对象。 |
| CLOSE 过程 | 关闭已打开的大对象。 |
| COMPARE 函数 | 比较两个大对象。 |
| CONVERTTOBLOB 过程 | 将字符数据转换为二进制。 |
| CONVERTTOCLOB 过程 | 将二进制数据转换为字符。 |
| COPY 过程 | 将一个大对象复制到另一个大对象。 |
| ERASE 过程 | 擦除大对象。 |
| GET_STORAGE_LIMIT 函数 | 获取大对象的存储限制。 |
| GETLENGTH 函数 | 获取大对象的长度。 |
| INSTR 函数 | 获取大对象中模式的第 n 个实例的位置(从位移开始)。 |
| ISOPEN 函数 | 检查大对象是否已打开。 |
| OPEN 过程 | 打开大对象。 |
| READ 过程 | 读取大对象。 |
| SUBSTR 函数 | 获取大对象的部分。 |
| TRIM 过程 | 将大对象调整为指定长度。 |
| WRITE 过程 | 将数据写至大对象。 |
| WRITEAPPEND 过程 | 将缓冲区中的数据写至大对象结尾。 |
注: 在分区数据库环境中,如果在 SELECT 语句的 WHERE 子句中执行下列任何例程,那么将收到错误:
- dbms_lob.compare
- dbms_lob.get_storage_limit
- dbms_lob.get_length
- dbms_lob.instr
- dbms_lob.isopen
- dbms_lob.substr
下表列示模块中可用的公用变量。
| 公用变量 | 数据类型 | 值 |
|---|---|---|
| lob_readonly | INTEGER | 0 |
| lob_readwrite | INTEGER | 1 |