OPEN 存储过程用于以指定的模式打开内部或外部 LOB。有效模式包括只读和读/写。
语法
DBMS_LOB.OPEN (
lob_loc IN OUT NOCOPY BLOB,
open_mode IN BINARY_INTEGER);
DBMS_LOB.OPEN (
lob_loc IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
open_mode IN BINARY_INTEGER);
参数解释
参数 | 解释 |
---|---|
lob_loc | LOB 定位器。详细信息请参见 DBMS_LOB 使用说明。 |
open_mode | 打开方式。对于 |
使用说明
说明
如果以只读模式打开 LOB,并且尝试写入 LOB,会返回错误。
OPEN 需要往返内部和外部 LOB 服务器。 对于内部 LOB,
OPEN
触发依赖于 OPEN 调用的其他代码。不强制要求将所有 LOB 操作都包装在 Open / Close 接口中。 如果打开一个 LOB,必须在提交事务之前将其关闭, 否则会产生错误。在关闭内部 LOB 时,将更新 LOB 列上的功能索引和域索引。
在关闭由事务打开的所有 LOB 之前提交事务会报错。 当返回错误时,所打开的 LOB 的开放性将被丢弃,但事务将成功提交,包括提交对事务中的 LOB 和非 LOB 数据所做的所有更改,但是不会更新基于域和基于函数的索引。 如果发生这种情况,应该在 LOB 列上重建功能索引和域索引。