次のNEW VARIANT_TYPE式は、weightという名前の属性を1つ持つ動的UDTを作成します。
NEW VARIANT_TYPE (Table1.a AS weight)
次の例では、NEW VARIANT_TYPE式は、heightという名前の属性を1つ持つ動的UDTを作成します。この例では、別名は指定されていません。したがって、列名が属性名として使用されます。
NEW VARIANT_TYPE (Table1.height)
次の例では、1番目の属性は列名から、heightという名前になります。しかし、2番目の属性も指定された別名から、heightという名前になります。属性名は固有でなければならないので、これは認められません。システムは次のようなエラーを返します。「ERRTEQDUPLATTRNAME - "Duplicate attribute names in the attribute list.(属性リスト内の重複属性名) %VSTR"」がユーザーに戻されます。
NEW VARIANT_TYPE (Table1.height, Table1.a AS height)
この例では、VARIANT_TYPEデータ型として宣言されたparameter_1という名前の入力パラメータがある、ユーザー定義の集約関数を示しています。SELECT文は、NEW VARIANT_TYPE式を使用して新しい関数を呼び出し、aとbという名前の2つの属性を持った動的UDTを作成します。
CREATE TYPE INTEGERUDT AS INTEGER FINAL; CREATE FUNCTION udf_agch002002dynudt (parameter_1 VARIANT_TYPE) RETURNS INTEGERUDT CLASS AGGREGATE (4) LANGUAGE C NO SQL EXTERNAL NAME 'CS!udf_agch002002dynudt!udf_agch002002dynudt.c' PARAMETER STYLE SQL; SELECT udf_agch002002dynudt(NEW VARIANT_TYPE (Tbl1.a AS a, (Tbl1.b + Tbl1.c) AS b)) FROM Tbl1;