17.00 - 17.05 - CLOBまたはBLOB引数を使用する外部ストアド プロシージャ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

外部ストアド プロシージャは、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値を返すために適用されます。