LOB入力および戻りパラメータを持つUDFの詳細については、LOB型を使用する関数の定義を参照してください。
BLOBまたはCLOB型を圧縮するスカラーUDFを記述する場合には、次の一般的な構造体を使用します。
- ソースLOBの各部分に対する読み取りバッファーサイズ(64KB以下)を定義します。
- FNC_LobOpenを使用してソースLOBの読み取りをオープンします。
- LOB内にさらに多くのデータがある間に。
- FNC_LobReadを使用して、LOBの一部を、割り当てたバッファ内に読み取ります。
- バッファ内のデータに圧縮を行ないます。
- UDFが入力文字列を圧縮できない場合には、'U1005'のSQLSTATEを返すか、そうでない場合にはFNC_LobAppendを使用してバッファの圧縮された内容を出力LOBに付加します。
- FNC_LobCloseを使用してソースLOBの読み取りをクローズします。
- 処理の間にいずれかのFNCルーチンによって報告されたエラーを扱います。
- ひとたびデータ処理が完了したら、割り当てられたリソースを解放します。
FNC関数については、LOBアクセスを参照してください。
CLOBデータ圧縮用のサンプル コードについては、CLOBデータ圧縮のCスカラー関数を参照してください。