例: スカラーUDF定義のUDT入力パラメータ データ型の作成および使用 - Teradata Database - Teradata Vantage NewSQL Engine - 例: スカラーUDF定義のUDT入力パラメータ データ型の作成および使用、CREATE FUNCTION (外部形式)およびREPLACE FUNCTION (外部形式)構文の文。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、UDT入力パラメータで定義されたC集約UDFを作成し、これを使用してテーブルからUDT列を選択します。

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

     CREATE TYPE varchar_udt AS VARCHAR(20000) FINAL;

さらに、DISTINCT UDTデータ型varchar_udtを指定した入力パラメータparameter_1を使用するudf_agch002002udtという名前の新しい関数を作成します。

     CREATE FUNCTION udf_agch002002udt (
       parameter_1 varchar_udt)  
     RETURNS varchar_udt 
     CLASS AGGREGATE (20000)
     LANGUAGE C  
     NO SQL  
     EXTERNAL NAME   'CS!udf_agch002002udt!udf_agch002002udt.c'  
     PARAMETER STYLE SQL;

以下のテーブルが作成済みであるとします。

     CREATE TABLE aggr_data_table (
       a INTEGER, 
       b VARCHARUDT);

次に、aggr_data_tableに1行を挿入します。

     INSERT INTO aggr_data_table VALUES (1, 'george');

これで、集約UDFudf_agch002002udtを使用してaggr_date_tableからUDT列を選択できます。

     SELECT udf_agch002002udt(aggr_data_table.b) 
     FROM aggr_data_table;

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