The CREATE TYPE statement defines a user-defined data type
at the current server.
Five different kinds of user-defined data
types can be created using this statement. Each of these types is
described separately.
- Array. A user-defined data type that is an ordinary array or an
associative array. The elements of an array type are based on one
of the built-in data types or a user-defined type other than a cursor
type or structured type.
- Cursor. A user-defined data type that is a cursor type.
- Distinct. A user-defined data type that is sourced on one of the
built-in data types. Functions that cast between the user-defined
distinct type and the source built-in data type are generated when
the user-defined distinct type is created. Optionally, support for
comparison operations to use with the user-defined distinct type can
be generated when the user-defined distinct type is created.
- Row. A user-defined data type that represents a row. It
includes one or more fields with associated data types that make up
a row of data.
- Structured. A user-defined data type that represents an object
and associated methods. It may include zero or more attributes and
may be a subtype allowing attributes to be inherited from a supertype.
Some methods are generated when the user-defined structured type is
created and others can be specified as part of the definition.