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