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 バッファリングを有効にした状態で操作を実行できません。 |