ERASE
存储过程用于擦除整个或部分内部 LOB
。
语法
DBMS_LOB.ERASE (
lob_loc IN OUT NOCOPY BLOB,
amount IN OUT NOCOPY INTEGER,
offset IN INTEGER := 1);
DBMS_LOB.ERASE (
lob_loc IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
amount IN OUT NOCOPY INTEGER,
offset IN INTEGER := 1);
参数解释
参数 | 解释 |
---|---|
lob_loc | 要删除的 |
amount | 要擦除的字节数( |
offset | 以 |
使用说明如下:
擦除
LOB
的中间数据时,分别为BLOB
或CLOB
写入零字节填充符或空格。如果在擦除指定的数字之前已到
LOB
值的末尾,则擦除的实际字节数或字符数可以与amount
参数中指定的数字不同。实际删除的字符数或字节数将在amount
参数中返回。
注意
只擦除 LOB
的部分数据时,LOB
的长度不会减小。要减小 LOB
值的长度,请参见 TRIM。
异常情况
异常 | 描述 |
---|---|
VALUE_ERROR | 任何输入参数均为 |
INVALID_ARGVAL | 发生以下某种情况:
|
QUERY_WRITE | 无法在查询中执行 |
BUFFERING_ENABLED | 如果在 |