DBMS_LOB モジュール
DBMS_LOB モジュールは、ラージ・オブジェクトを操作する機能を提供します。
個々のプロシージャーおよび関数を説明している以下のセクションでは、ラージ・オブジェクトが BLOB である場合には、長さとオフセットはバイト単位で測ります。 ラージ・オブジェクトが CLOB である場合には、長さとオフセットは文字単位で測ります。
DBMS_LOB モジュールは、10M バイトまでの LOB データをサポートします。
このモジュールのスキーマは SYSIBMADM です。
DBMS_LOB モジュールには、以下のルーチンが含まれており、それらには BLOB バージョンと CLOB バージョンを入れることが可能です (例えば、OPEN プロシージャーには OPEN_BLOB と OPEN_CLOB の実装があります)。
| ルーチン名 | 説明 |
|---|---|
| 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
次の表は、モジュールで使用可能なパブリック変数をリストしています。
| パブリック変数 | データ・タイプ | 値 |
|---|---|---|
| lob_readonly | INTEGER | 0 |
| lob_readwrite | INTEGER | 1 |