OPEN 存储过程用于以指定的模式打开内部或外部 LOB。有效模式包括只读和读/写。

语法

  1. DBMS_LOB.OPEN (
  2. lob_loc IN OUT NOCOPY BLOB,
  3. open_mode IN BINARY_INTEGER);
  4. DBMS_LOB.OPEN (
  5. lob_loc IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
  6. open_mode IN BINARY_INTEGER);

参数解释

参数

解释

lob_loc

LOB 定位器。详细信息请参见 DBMS_LOB 使用说明

open_mode

打开方式。对于 BLOBCLOB 类型,模式可以是:LOB_READONLYLOB_READWRITE

使用说明

说明

如果以只读模式打开 LOB,并且尝试写入 LOB,会返回错误。

  • OPEN 需要往返内部和外部 LOB 服务器。 对于内部 LOBOPEN 触发依赖于 OPEN 调用的其他代码。

  • 不强制要求将所有 LOB 操作都包装在 Open/Close 接口中。如果打开一个 LOB,必须在提交事务之前将其关闭,否则会产生错误。在关闭内部 LOB 时,将更新 LOB 列上的功能索引和域索引。

  • 在关闭由事务打开的所有 LOB 之前提交事务会报错。当返回错误时,所打开的 LOB 的开放性将被丢弃,但事务将成功提交,包括提交对事务中的 LOB 和非 LOB 数据所做的所有更改,但是不会更新基于域和基于函数的索引。如果发生这种情况,应该在 LOB 列上重建功能索引和域索引。