DBMS_LOB モジュール

DBMS_LOB モジュールは、ラージ・オブジェクトを操作する機能を提供します。

個々のプロシージャーおよび関数を説明している以下のセクションでは、ラージ・オブジェクトが BLOB である場合には、長さとオフセットはバイト単位で測ります。 ラージ・オブジェクトが CLOB である場合には、長さとオフセットは文字単位で測ります。

DBMS_LOB モジュールは、10M バイトまでの LOB データをサポートします。

このモジュールのスキーマは SYSIBMADM です。

DBMS_LOB モジュールには、以下のルーチンが含まれており、それらには BLOB バージョンと CLOB バージョンを入れることが可能です (例えば、OPEN プロシージャーには OPEN_BLOB と OPEN_CLOB の実装があります)。

表 1. DBMS_LOB モジュール内で使用可能な組み込みルーチン
ルーチン名 説明
APPEND プロシージャー 1 つのラージ・オブジェクトを他のものに付加します。
CLOSE プロシージャー オープンされているラージ・オブジェクトを閉じます。
COMPARE 関数 2 つのラージ・オブジェクトを比較します。
CONVERTTOBLOB プロシージャー 文字データをバイナリーに変換します。
CONVERTTOCLOB プロシージャー バイナリー・データを文字に変換します。
COPY プロシージャー 1 つのラージ・オブジェクトを他のものにコピーします。
ERASE プロシージャー ラージ・オブジェクトを消去します。
GET_STORAGE_LIMIT 関数 ラージ・オブジェクトのストレージ限度を取得します。
GETLENGTH 関数 ラージ・オブジェクトの長さを取得します。
INSTR 関数 オフセットで始まるラージ・オブジェクト内のパターンの n 番目の出現位置を取得します。
ISOPEN 関数 ラージ・オブジェクトがオープンされているかどうかを調べます。
OPEN プロシージャー ラージ・オブジェクトをオープンします。
READ プロシージャー ラージ・オブジェクトを読み取ります。
SUBSTR 関数 ラージ・オブジェクトの一部を取得します。
TRIM プロシージャー ラージ・オブジェクトを指定の長さに切り取ります。
WRITE プロシージャー ラージ・オブジェクトにデータを書き込みます。
WRITEAPPEND プロシージャー ラージ・オブジェクトの終わりまで、バッファーからのデータを書き込みます。
注: パーティション・データベース環境では、SELECT ステートメントの WHERE 節で以下のルーチンを実行するとエラーが出されます。
  • dbms_lob.compare
  • dbms_lob.get_storage_limit
  • dbms_lob.get_length
  • dbms_lob.instr
  • dbms_lob.isopen
  • dbms_lob.substr
次の表は、モジュールで使用可能なパブリック変数をリストしています。
表 2. DBMS_LOB パブリック変数
パブリック変数 データ・タイプ
lob_readonly INTEGER 0
lob_readwrite INTEGER 1