例: スカラーUDF定義のUDT入力パラメータ データ型の作成および使用 - 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/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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>を参照してください。