You can use the NEW VARIANT_TYPE expression to define the runtime composition or internal attributes of a dynamic UDT. Each expression you pass into the NEW VARIANT_TYPE constructor corresponds to one attribute of the dynamic UDT. You can assign an alias name to represent each NEW VARIANT_TYPE expression parameter. The name of the attribute will be the alias name provided or the column name associated with the column reference if no alias is provided. This is summarized in the following table.
|IF...||THEN the attribute name is...|
|alias_name is provided||alias_name|
table_name.column_name is provided, but
alias_name is not provided
|an expression is provided that is not a column reference and alias_name is not provided||an error is returned.|
Note that you must provide an alias name for all expressions that are not column references. In addition, the attribute names must be unique. Therefore, you must provide unique alias names and/or column references.
The data type of the attribute will be the result data type of the expression. The resultant value of the expression will become the value of the corresponding attribute.