ERASE ストアドプロシージャは、内部 LOB の全部または一部を消去するために使用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供しています。
構文
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 | 削除する LOB のロケーター。詳細については、DBMS_LOBの使用方法を参照してください。 |
| amount | 消去するバイト数(BLOB)または文字数(CLOB)。 |
| offset | LOB が始まる位置からの絶対オフセット(原点は1)。単位はバイト(BLOB)または文字(CLOB)。 |
使用方法は以下のとおりです:
LOBの途中のデータを消去する際、BLOBまたはCLOBにはそれぞれゼロバイトのパディングフィラーまたはスペースが書き込まれます。指定された文字数まで消去する前に
LOB値の末尾に達した場合、実際に削除されるバイト数または文字数はamountパラメータで指定された数と異なる場合があります。実際に削除される文字数またはバイト数はamountパラメータで返されます。注意
LOBの一部のデータのみを消去する場合、LOBの長さは短縮されません。LOB値の長さを短縮するには、TRIM を参照してください。
例外状況
例外 |
説明 |
|---|---|
| VALUE_ERROR | 入力パラメータがすべて NULL です。 |
| INVALID_ARGVAL | 以下のいずれかの状況が発生しました:
|
| QUERY_WRITE | クエリで LOB 書き込みを実行できません。 |
| BUFFERING_ENABLED | LOB でバッファリングが有効になっている場合、LOB バッファリングを有効にした状態で操作を実行できません。 |