テーブル演算子とテーブル関数との違い - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

テーブル関数とユーザー定義のテーブル演算子の主な違いは、次のとおりです。

  • テーブル関数の入力と出力は、列ではなく、行セットまたはテーブルです。行のデフォルト形式は標識データ形式です。
  • テーブル関数では、行反復子は関数の外部にあり、反復子が関数を呼び出します。

    テーブル演算子では、反復子はコーダーが処理します。テーブル演算子自体は1回だけ呼び出されます。

  • テーブル演算子では、入力列と出力列は、演算子の構文解析を行なうときにテーブル演算子のパーサー関数を呼び出すことによって設定されます。演算子は入力に基づいて出力を決定し、この情報をパーサーに返します。
  • テーブル演算子では、カスタム引数句を使用して多様性を持たせることができます。

    テーブル演算子は再帰処理を行なう必要があるため、テーブル演算子は単純なAMPステップと同じように構築する必要があります。ライターには行の読み取り/書き込みインターフェースが提供されます。

    パーサー関数は標準のスカラーUDFに似ており、1つの引数セット(入力列タイプおよび呼び出しメタデータ)にアクセスし、出力列タイプのリストを返します。ただし、テーブル関数と同様に、出力テーブル形式は、実行時にユーザーが指定することによって設定することもできます。