17.10 - テーブル関数の定義 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)
テーブル関数は、複数行のリレーショナル テーブルを返す(1度に1つの行を呼び出し元のSELECTリクエストに返す)ユーザー定義関数です。テーブルの構造は、次のいずれかの方法で返されるように定義します。
  • 関数を実行する前に返される列数が分かっている場合は、CREATE TABLE文を使用して永続テーブルの構造を定義するのと同じように、構成要素列名とそれぞれのデータ型を指定して、戻されるテーブルの構造を定義しますCREATE TABLEと<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。

    列名の完全セットとそれに伴うデータ型は、関数が呼び出し側に戻すテーブルの構造を定義します。

    指定した列の1つがLOBデータ型の場合、それとは別に少なくとも1つの非LOB列を定義する必要があります。

    各列名は、他のオブジェクト識別子と同じ制限により、最大128のUNICODE文字に制限されます。オブジェクト命名ルールの詳細については、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

  • 関数を実行する前に返される列の数がわからない場合、TABLE VARYING COLUMNS句を使用して戻りテーブル構造を定義し、返される出力列の最大許容数を指定します。指定した制限に達すると、システムは戻りテーブル列の組み込みを停止します。

テーブル関数の静的形式と動的形式に対して、指定できる最大列数は2,048です。

返されるテーブルは通常、固有のオペレーティング システム ファイル、メッセージ キュー、または入力引数(例えばLOB)などの外部ソースから派生し、意味的には派生テーブルと同じです(<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照)。

テーブル関数は呼び出し側の文にテーブル全体を返すのに対して非テーブルUDFは単一のスカラー結果のみを返すという点で、テーブル関数は非テーブルUDFと異なります。