17.00 - CREATE TYPE Syntax Elements (Structured Form) - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL Data Definition Language Syntax and Examples

Advanced SQL Engine
Teradata Database
Release Number
September 2020
Content Type
Programming Reference
Publication ID
English (United States)
Last Update
The containing database for UDT_name. If omitted, the containing database is SYSUDTLIB.
You cannot create a UDF within the SYSUDTLIB database with the same specific name or same routine signature.
If such a UDF already exists in SYSUDTLIB at the time you submit a CREATE TYPE request, the request fails because a routine with the same signature already exists.
Name of the structured UDT to be created.
For information about naming database objects, see Teradata Vantage™ - SQL Fundamentals, B035-1141.
If the UDF library for your database contains any objects with multibyte characters in their name, you cannot use a single-byte session character set to create a new UDF, UDT, method, or Java stored procedure object even if the new object name contains only single-byte characters. Otherwise, the system returns an error to the requestor. Instead, use a multibyte session character set.

See Teradata Vantage™ - SQL Fundamentals, B035-1141 for the rules for naming database objects.

Note that the creation of a structured type consumes two names in the TVMNameI name space for SYSUDTLIB:
  • The first name consumed corresponds to the name of the UDT itself.
  • The second name corresponds to the system-generated constructor function for the UDT.

    The system constructs this name as explained in the topic on naming conventions.

An optional keyword specification that makes it possible to create a constructor method for the type, enabling you to instantiate a value having that type.
INSTANTIABLE is the default and only valid specification.
Vantage does not support a NOT INSTANTIABLE option.
A mandatory keyword sequence required for the definition of all structured UDTS.
The NOT FINAL keywords indicate that you can create subtypes of the type being defined.