OPEN ステートメントは、指定されたモードで内部または外部 LOB を開くために使用されます。有効なモードは、読み取り専用と読み取り/書き込みです。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_LOB.OPEN (
lob_loc IN OUT NOCOPY BLOB,
open_mode IN BINARY_INTEGER);
DBMS_LOB.OPEN (
lob_loc IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
open_mode IN BINARY_INTEGER);
パラメータ説明
パラメータ |
説明 |
|---|---|
| lob_loc | LOB ロケーター。詳細については、DBMS_LOBの使用方法を参照してください。 |
| open_mode | 開き方。BLOB および CLOB 型に対して、モードは LOB_READONLY または LOB_READWRITE です。 |
使用方法
説明
LOB を読み取り専用モードで開いてから、その LOB に書き込もうとすると、エラーが返されます。
OPENは内部および外部LOBサーバー間を往復する必要があります。内部LOBの場合、OPENはOPEN呼び出しに依存する他のコードをトリガーします。すべての
LOB操作をOpen/Closeインターフェースでラッピングすることは必須ではありません。LOBを開いた場合、トランザクションをコミットする前にそれを閉じる必要があります。そうでない場合、エラーが発生します。内部LOBを閉じると、LOB列上の機能インデックスとドメインインデックスが更新されます。トランザクションによって開かれたすべての
LOBを閉じる前にトランザクションをコミットすると、エラーが発生します。エラーが返された場合、開かれたLOBのオープン状態は破棄されますが、トランザクションは成功裏にコミットされます。これには、トランザクション内のLOBおよび非LOBデータに加えられたすべての変更のコミットが含まれますが、ドメインおよび関数ベースのインデックスは更新されません。このような場合は、LOB列に機能インデックスとドメインインデックスを再構築する必要があります。