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列上の機能インデックスとドメインインデックスを再構築する必要があります。