DBMS_LOB

TimesTen Classicで、DBMS_LOBパッケージは、一時LOBを含む、BLOB、CLOB、およびNCLOBを操作するためのサブプログラムを提供します。

ノート:

  • TimesTenは、特にBFILE、SecureFile(Database File System機能など)を対象としたDBMS_LOBサブプログラム、またはLOB内のデータ・フラグメントの挿入や削除をサポートしていません。

  • DBMS_LOBプロシージャおよびファンクションは、TimesTenを使用してアクセスされ、TimesTen LOBとして公開されるOracle DatabaseのLOBである、TimesTen LOBおよびパススルーLOBの両方でサポートされています。ただし、CREATETEMPORARYを使用できるのは、TimesTenの一時LOBを作成する場合のみであることに注意してください。SQLなどの他の方法を使用して一時パススルーLOBを作成する場合、ISTEMPORARYおよびFREETEMPORARYをそのLOBに使用できます。

    TimesTenローカルLOBと同様、パススルーLOBのロケータは、トランザクションが終了すると無効になります。

    COPYは、あるTimesTen LOBから別のTimesTen LOBにコピーできるだけでなく、TimesTen LOBからパススルーLOBにコピーしたり、パススルーLOBからTimesTen LOBにコピーしたり、またはあるパススルーLOBから別のパススルーLOBにコピーすることもできます。パススルーLOBのサイズがTimesTen LOBのサイズ制限より大きい場合、パススルーLOBをTimesTen LOBにコピーしようとするとエラーが発生します。(LOBのコピーの例は、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』COPYプロシージャを参照してください。)

    「パススルーLOB」を参照してください。

表7-1に、サポートされているDBMS_LOBのサブプログラムを示します。

表7-1 DBMS_LOBのサブプログラム

サブプログラム 説明

APPENDプロシージャ

ソースLOBの内容を宛先LOBに追加します。

CLOSEプロシージャ

オープンされているLOBをクローズします。

COMPAREファンクション

2つのLOB全体、または2つのLOBの一部を比較します。

CONVERTTOBLOBプロシージャ

ソースCLOBまたはNCLOBインスタンスから、文字データを読み取り、指定した文字セットに変換して、変換したデータをバイナリ形式で宛先BLOBインスタンスに書き込み、新しいオフセットを戻します。

CONVERTTOCLOBプロシージャ

ソースBLOBインスタンスを取得し、指定した文字セットを使用して、ソース・インスタンスのバイナリ・データを文字データに変換し、文字データを宛先CLOBまたはNCLOBインスタンスに書き込み、新しいオフセットを戻します。

COPYプロシージャ

ソースLOBの内容を宛先LOBにコピーします。

CREATETEMPORARYプロシージャ

一時データ領域に一時LOBを作成します。Oracle Databaseでサポートされている期間のいずれか(SESSIONTRANSACTIONCALL)が許可されます。ただし、TimesTenではトランザクションの終了時にLOBの継続時間は終了します。

ERASEプロシージャ

すべてまたは一部のLOBを削除します。

FREETEMPORARYプロシージャ

一時データ領域の一時LOBを解放します。

GET_STORAGE_LIMITファンクション

指定したLOBのLOB型の記憶域制限を戻します。

GETCHUNKSIZEファンクション

これは、TimesTenでは、互換性のために値32KBを戻すだけです。パフォーマンスをチューニングする際にこの値を使用しないでください。

GETLENGTHファンクション

BLOBはバイト単位で、CLOBまたはNCLOBは文字単位で、LOB値の長さを戻します。

INSTRファンクション

LOBにあるパターンのn番目の一致のマッチング位置を戻します。

ISOPENファンクション

LOBが入力ロケータを使用して、すでにオープンされたかどうかをチェックします。

ISTEMPORARYファンクション

ロケータが一時LOBを指しているかどうかを確認します。

OPENプロシージャ

指定のモード(読取り/書込みまたは読取り専用)でLOB(永続または一時)を開きます。

ノート: LOBをオープンすることは、ファイルを開くことと概念的に似ていますが、技術的には同じではありません。LOBをオープンすることは、必要なリソースに関するヒントのようなものです。

READプロシージャ

指定されたオフセットからLOBのデータを読み取ります。

SUBSTRファンクション

指定されたオフセットからLOB値の一部を戻します。

TRIMプロシージャ

指定された長さまでLOB値を切り捨てます。

WRITEプロシージャ

指定されたオフセットからLOBにデータを書き込みます。

WRITEAPPENDプロシージャ

LOBの終わり以降にバッファを書き込みます。