テーブル関数 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2019-02-12
dita:mapPath
ja-JP/fxv1527114222338.ditamap
dita:ditavalPath
ja-JP/fxv1527114222338.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

テーブル関数は、SELECT文のFROM句内だけに指定できるUDFの1形式です。これは、派生テーブルのサブクエリーとして処理されます。

テーブル関数は、一度呼び出すごとに1つのテーブルの行を返します。この関数は、CまたはC++で記述し、SELECT文のFROM句内でのみ呼び出せます。他の箇所から呼び出すことはできません。

テーブル関数は、すべてのAMP上で並列的に実行されます。ただし、テーブル関数の開発者は、関数でどのAMPを使用し、どのAMPを使用しないかを決定できます。

テーブル関数は、CREATE FUNCTION文を使用して作成します。新しい関数タイプに対して、ディクショナリ登録項が作成されます。そのプロセスの機能方法に違いはありません。次にUDFコードがコンパイルされてリンクされ、要求に応じてライブラリが全ノードに分散されます。

この関数は一度に1つのテーブル、1つの行を作成するため、列の定義とデータ型が必要になります。

UDFと同様に、テーブル関数でI/Oを実行する場合は、クライアント ユーザーをテーブル関数の実行に関連付けるための、新しい外部セキュリティ句を関数に含める必要があります。

関数に関連付けるのは、INVOKERか、DEFINERのどちらかにします。これは、関数の開発者が制御します。

テーブル関数は、関数の呼び出し側に一度に1つのテーブル、1つの行をループで返します。この関数は、渡された入力引数に基づいて、外部ファイルを読み取るか、または単純にテーブルの行を作成することができます。そのためには、ユーザーがSQL SELECT文のFROM句の位置にこの関数を指定します。

テーブル関数は、基本的には外部ソース(ネイティブOSファイルまたはメッセージ キュー)から派生テーブルを作成します。単に入力引数から行を作成することもできます。例えば、入力引数が、XMLテキストを含むCLOBへの参照となっている場合があります。テーブル関数は、そのCLOBからXMLテキストを構文解析し、SQL行全体を出力することができます。