Teradataには、ソース コード ファイルにインクルードするためのsqltypes_td.hヘッダー ファイルが用意されています。このヘッダー ファイルは、UDMの入力引数および結果として使用できるすべてのデータベース データ型と同等のCのデータ型を定義するものです。各SQLデータ型はそれぞれ、sqltypes_td.h内の1つのCデータ型に対応します。
場所
このヘッダー ファイルは、Teradataソフトウェア ディストリビューションのetcディレクトリに入っています。
/usr/tdbms/etcetcディレクトリのパスを検証するには、コマンド ラインに以下のように入力します。
pdepath -eSQL_TEXTの定義
sqltypes_td.hヘッダー ファイルをインクルードする前に、SQL_TEXT定数を定義する必要があります。使用する値は、UDMを作成するためにCREATE METHOD文を使用する時のセッションのサーバー文字セットの値でなければなりません。
CREATE METHOD文使用時のサーバー文字セット | CまたはC++関数で設定するべきSQL_TEXTの値 |
---|---|
KANJI | Kanji1_Text |
KANJISJIS | Kanjisjis_Text |
LATIN | Latin_Text |
UNICODE | Unicode_Text |
SQL_TEXTは、パラメータ スタイルSQLをUDMで使用する場合に、特定のUDM引数に対して使用されます。パラメータ スタイルについて詳しくは、UDMのパラメータ リストを参照してください。
Teradata Databaseは、だれがUDMを呼び出しても、またセッションの現在のサーバー文字セットが何であっても、UDMがSQL_TEXT入力引数を期待通りのテキストに変換したり、テキストをSQL_TEXT出力引数に変換したりするために、UDM作成時の文字セットを記憶しています。
例: SQL_TEXTの定義とsqltypes_td.hのインクルード
次の例は、UDMを定義するファイルで、SQL_TEXTを定義し、sqltypes_td.hヘッダー ファイルをインクルードする方法を示すものです。
#define SQL_TEXT Latin_Text #include "sqltypes_td.h"
sqltypes_td.hヘッダー ファイルのインクルードは、次のようにも指定できます。
#include <sqltypes_td.h>
不等号括弧(< >)を使うか、二重引用符(" ")を使用するかは、Cプリプロセッサがsqltypes_td.hヘッダー ファイルを検索するパスに関係します。
SQLデータ型
すべてのSQLデータ型は、UDMの入力引数および結果に使用するCデータ型に対応します。
詳細については、<SQLデータ型のマッピング>を参照してください。
厳密な定義については、「sqltypes_td.hヘッダー ファイル」を参照してください。