ACILobErase2()¶
-
ACILobErase2()¶
作用:
从指定的偏移量开始擦除内部LOB数据的指定部分。 此功能用于大小大于4 GB的LOB。 也可以对小于4 GB的LOB使用此功能。
语法:
sword ACILobErase2 ( ACISvcCtx *svchp,
ACIError *errhp,
ACILobLocator *locp,
aciub8 *amount,
aciub8 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的写操作。