DBMS_LOB 模块能够操作大对象。
在描述各个过程和函数的下列各节中,如果大对象为 BLOB,那么长度和位移以字节计。如果大对象为 CLOB,那么长度和位移以字符计。
DBMS_LOB 模块最多支持 10 MB LOB 数据。
此模块的模式为 SYSIBMADM。
DBMS_LOB 模块包括下列例程,这些例程可包含 BLOB 版本和 CLOB 版本(例如,OPEN 过程具有 OPEN_BLOB 和 OPEN_CLOB 实现)。
1.常用示例
dbms_lob.createtemporary(V_SQL,true); --创建一个临时clob,用来存储拼接的sql
dbms_lob.write(v_SQL,'写入信息'); --写入操作
dbms_lob.append(v_SQL,','); --拼接clob
dbms_lob.substr(v_SQL); --截取clob,不传参数就是全部读取
dbms_lob.freetemporary(v_SQL); --释放clob
2.DBMS_LOB 模块中可用的内置例程
例程名称 | 描述 |
---|---|
APPEND 过程 | 将一个大对象追加至另一个大对象。 |
CLOSE 过程 | 关闭已打开的大对象。 |
COMPARE 函数 | 比较两个大对象。 |
CONVERTTOBLOB 过程 | 将字符数据转换为二进制。 |
CONVERTTOCLOB 过程 | 将二进制数据转换为字符。 |
COPY 过程 | 将一个大对象复制到另一个大对象。 |
ERASE 过程 | 擦除大对象。 |
GET_STORAGE_LIMIT 函数 | 获取大对象的存储限制。 |
GETLENGTH 函数 | 获取大对象的长度。 |
INSTR 函数 | 获取大对象中模式的第 n 个实例的位置(从位移开始)。 |
ISOPEN 函数 | 检查大对象是否已打开。 |
OPEN 过程 | 打开大对象。 |
READ 过程 | 读取大对象。 |
SUBSTR 函数 | 获取大对象的部分。 |
TRIM 过程 | 将大对象调整为指定长度。 |
WRITE 过程 | 将数据写至大对象。 |
WRITEAPPEND 过程 | 将缓冲区中的数据写至大对象结尾。 |
官网地址:https://www.ibm.com/docs/zh/db2/10.1.0?topic=modules-dbms-lob-module