可変列のテーブルの外部UDF結果を返す - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vjt1596846980081.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
ルールと制限を以下に示します。
  • テーブル関数はFROM句にのみ含めることができます。FROM句を参照してください。

    テーブル関数は派生テーブルのように処理されます。

  • SELECT文の構文では、実行時にそのTABLE (function_name RETURNS table_name)句に返す列数の暗黙的な指定をサポートします。
  • 可変の出力列数がないテーブル関数を参照する場合、システムはDBC.TVFieldsから明示的な出力列の定義を取得します。

    ただし、動的な列数を出力するテーブル関数を参照する場合、RETURNS table_nameオプションをSELECTリクエストのFROM句で使用して、関数の呼び出しの一部として出力列リストまたは既存のテーブルの名前を指定する必要があります。

SELECT仕様 返される列
出力列名のリスト リストで指定されている列を関数の出力列として使用
既存のテーブルの名前 そのテーブルの定義からの列を関数の出力列として使用

どちらの場合も、そのCREATE FUNCTION(テーブル形式)定義のVARYING COLUMNS maximum_output_columns指定で指定した出力列の定義済み最大数を超える列数を指定することはできません。

Teradata Vantage™ - SQLデータ定義言語 - 詳細トピック、B035-1184のCREATE FUNCTION(テーブル形式)を参照してください。
  • 可変列のテーブル関数を呼び出すには、以下を実行します。
    • 返す列名とデータ型のペアのリストを指定する。
    • 既存のテーブルから返す列を指定する。

    同じ結果を返す両方の形式の例については、例: テーブル関数の指定により返される動的行結果を参照してください。

  • BLOB AS LOCATORまたはCLOB AS LOCATOR形式を使用してLOB列を指定することはできません。