APPEND ストアドプロシージャは、内部ソース LOB の内容をターゲット LOB に追加するために使用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供します。
構文
DBMS_LOB. APPEND (
dest_lob IN OUT NOCOPY BLOB,
src_lob IN BLOB);
DBMS_LOB.APPEND (
dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
src_lob IN CLOB CHARACTER SET ANY_CS);
パラメータの説明
パラメータ |
説明 |
|---|---|
| dest_lob | データを追加する内部 LOB のロケーター。 |
| src_lob | データを読み取る内部 LOB のロケーター。 |
例外状況
例外 |
説明 |
|---|---|
| VALUE_ERROR | ソース LOB またはターゲット LOB が NULL です。 |
| QUERY_WRITE | クエリまたはPDML並列実行サーバーで LOB 書き込みを実行できません。 |
| BUFFERING_ENABLED | いずれかの LOB でバッファリングが有効になっている場合、LOB バッファリングを有効にした状態で操作を実行できません。 |
使用方法
LOB操作をOpen/Closeインターフェースでラッピングすることは必須ではありません。操作を実行する前にLOBを開いていない場合、関数インデックスとドメインインデックスはLOB列で更新されます。ただし、操作を実行する前にLOBを開いている場合は、トランザクションをコミットする前に閉じる必要があります。内部LOBを閉じると、LOB列の関数インデックスとドメインインデックスが更新されます。LOB操作をOpen/Closeインターフェースでラッピングしない場合、LOBに書き込むたびに関数インデックスとドメインインデックスが更新されます。パフォーマンスへの影響を避けるため、LOBへの書き込み操作はOPENまたはCLOSEステートメント内に含めることを推奨します。アーカイブ済みの
LOBに対してAPPENDを呼び出すと、最初のバイトを書き込む前にLOBが暗黙的に取得されます。