例: 派生テーブルから呼び出される変数参照テーブル関数 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

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

この例では、派生テーブルに等価結合される変数参照テーブル関数(<Teradata Vantage™ - SQL外部ルーチン プログラミング、B035-1147>を参照)を示します。

まず派生テーブルdt1tbl1のサブセットとして作成された後、各行の列dt1.c1がテーブル関数に渡されます。その結果として生成されるテーブル関数の行は、WHERE条件によって派生テーブルの選択行と組み合わせられます。

関連する テーブル定義は、以下のようになります。

    CREATE FUNCTION tudf1 (FLOAT, INTEGER, INTEGER)
      RETURN TABLE (
       c1 DECIMAL,
       c2 INTEGER,
       c3 INTEGER) 
      … ;

このテーブル関数を使用するSELECTリクエストは次のとおりです。

    SELECT dt1.c1, tf2.c2, tf2.c3 
    FROM (SELECT c1, c2 
          FROM tbl1 
          WHERE c1 < 500) AS dt1,
           TABLE (tudf1(45.6, 193, dt1.c1)) AS tf2 (nc1, nc2, nc3)
           WHERE dt1.c1 = tf2.nc1);