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が暗黙的に取得されます。