外部ストアド プロシージャは、CLOBまたはBLOBの入力引数および出力引数を定義して、それらをロケータで受け渡すことができます。
外部ストアド プロシージャは、インラインのCLOBまたはBLOBを入力するリクエストで呼び出すことはできますが、インラインのCLOBまたはBLOBを戻すリクエストでは使用できません。この制限を回避するには、外部ストアド プロシージャを呼び出すストアド プロシージャを作成し、まず外部ストアド プロシージャでCLOBまたはBLOB引数をロケータによってストアド プロシージャに戻してから、そのストアド プロシージャでCLOBまたはBLOBを戻すようにします。
CLOBまたはBLOB引数を使用する外部ストアド プロシージャを定義するためのガイドラインは、CLOBまたはBLOB引数を使用するUDFを定義するためのガイドラインと似ています。詳細は、LOB型を使用する関数の定義を参照してください。
外部ストアド プロシージャのCソース コードでは、FNC LOBアクセス関数を使用して、プロシージャ内またはプロシージャ外に渡されたLOBの値にアクセスする必要があります。次の関数があります:
- FNC_LobOpen
- FNC_LobRead
- FNC_LobAppend
- FNC_LobClose
これらおよびその他のLOB関連のFNC関数については、Cライブラリ関数を参照してください。
また、FNC LOBアクセス関数を使用するための要件は、外部ストアド プロシージャがデフォルトLOB値を返すために適用されます。