例: UDTデータ型の列を返すUDTパラメータ指定を使用したテーブル関数 - 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

この例では、udtc4という名前のDISTINCT UDT列を返すUDTパラメータを指定したテーブルUDFを作成します。

最初に、TABLEINTという名前の新しいDISTINCTデータ型を作成します。

     CREATE TYPE TABLEINT AS INTEGER FINAL;

さらに、データ型TABLEINTの入力パラメータp2を宣言するfnc_tbf001udtという名前のテーブル関数を作成します。

     CREATE  FUNCTION fnc_tbf001udt(
       p1 INTEGER, 
       p2 TABLEINT)
     RETURNS TABLE (c1    INTEGER,  
                    c2    INTEGER,  
                    c3    VARCHAR(3),  
                    udtc4 TABLEINT)
     LANGUAGE C  
     NO SQL  
     PARAMETER STYLE SQL  
     EXTERNAL NAME 'CS!fnc_tbf001udt!fnc_tbf001udt.c'; 

このテーブル関数でSELECTリクエストで使用して、テーブルの形式で結果を返します。

     SELECT * 
     FROM TABLE(fnc_tbf001udt(1, 1)) AS t1 
     WHERE t1.c2 IN (0,1);

fnc_tbf001udtのような外部関数をコーディングする方法については、<Teradata Vantage™ - SQL外部ルーチン プログラミング、B035-1147>を参照してください。