ACILobErase()

ACILobErase()

作用:

擦除大对象的数据。

语法:

sword ACILobErase ( ACISvcCtx       *svchp,
                    ACIError        *errhp,
                    ACILobLocator   *locp,
                    ub4             *amount,
                    ub4              offset );

参数:

  • svchp (IN)

服务上下文句柄

  • errhp (IN/OUT)

错误句柄,该接口调用失败时,错误信息会存在该句柄上 ,调用 ACIErrorGet 获得错误信息。

  • locp (IN/OUT)

一个单独的源大对象的内部大对象描述符指针,这个描述符指针必须是通过svchp句柄已经从服务器获得的。

  • amount (IN/OUT)

CLOB的字符数,或BLOB的字节数。 在IN上,该值表示要擦除的字符或字节数。 在OUT上,该值标识已擦除的实际字符数或字节数。

  • offset (IN)

从开始擦除数据的LOB值的开始到CLOB的字符的绝对偏移量,或BLOB的字节的绝对偏移量。 从1开始。

说明:

返回擦除的实际字符数或字节数。对于BLOB,擦除意味着零字节填充符将覆盖现有的LOB值。对于CLOB,擦除意味着空格会覆盖现有的LOB值。

此功能仅对内部LOB有效。不允许使用BFILE。

可以在lob未打开时进行操作。但是,如果您确实在执行此操作之前打开了LOB,则必须在提交事务之前将其关闭。

如果未将LOB操作包装在打开或关闭API中,则每次写入LOB时都会自动打开和关闭。 这会对性能产生不利影响。建议您在open或close语句中包含对LOB的写操作。