17.00 - 17.05 - C/C++関数の基本的な定義方法 - 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
日本語 (日本)

外部ストアド プロシージャのC/C++関数を定義するための基本的な手順は、次のとおりです。

  1. SQL_TEXT定数を定義します。

    詳細については、SQL_TEXTの定義を参照してください。

  2. sqltypes_td.hヘッダー ファイルをインクルードします。

    詳細については、C/C++ヘッダー ファイルを参照してください。

  3. その関数で使用するマクロや変数が定義されているその他のヘッダー ファイルをインクルードします。

    外部ストアド プロシージャでCLIv2を使用して直接SQLを実行する場合は、CLIv2ヘッダー ファイルをインクルードします。

  4. CREATE PROCEDURE文で指定されたパラメータ受渡し規則に定められた順序での関数パラメータ リストを定義します。

    詳細については、外部ストアド プロシージャのパラメータ リストを参照してください。

  5. 関数を実行し、INOUTまたはOUT引数を適切な値に設定します。
  6. 関数でエラーが発生した場合、以下を設定します。
    • 関数を終了する前に、sqlstate引数をSQLSTATE例外または警告条件に設定します。

      詳細については、SQLSTATEの値を戻すを参照してください。

    • error_message文字列をエラー メッセージ テキストに設定します。その文字はLATIN文字範囲内のものでなければなりません。入力時にこの文字列は、NULL終了文字列に初期設定しておきます。
  7. 関数でパラメータ スタイルSQLを使用する場合は、indicator_parameter引数を、対応するINOUTまたはOUT引数に合わせて設定します。
    INOUTまたはOUT引数 対応するindicator_parameter引数の設定
    NULL -1
    非NULL 0