この例では、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>を参照してください。