TRIM 存储过程为 BLOB 指定以字节为单位的长度,为 CLOB 指定以字符为单位的长度。

说明

TRIM 存储过程将 LOB 的长度减少到 newlen 参数中指定的值。

如果尝试对空的 LOB 执行 TRIM,则无结果,并且 TRIM 不返回错误。如果在 newlen 中新指定的长度大于 的大小,则会引发异常。

异常描述

VALUE_ERROR

lob_loc 值为 NULL

INVALID_ARGVAL

可能为以下几种情况:

  • new_len 值小于 0

QUERY_WRITE

无法在查询或 PDML 并行执行服务器内执行 LOB 写入。

BUFFERING_ENABLED

如果在 LOB 上启用了缓冲,则无法在启用 LOB 缓冲的情况下执行操作。

  • 如果未将 LOB 操作包裹在 Open/Close API 内,则每次写入 LOB 时都会更新功能索引和域索引。为避免对性能产生不利影响,建议将对 LOB 的写操作包含在 OPENCLOSE 语句中。

  • 必要时,TRIM 在更改 LOB 的长度之前会获取 ,除非指定的新长度为 0。