ALTER TYPE [SYSUDTLIB.] UDT_name {
[ ADD | DROP ] { attribute_clause | method_clause | specific_method_clause } |
COMPILE [ONLY]
} [;]
- attribute_clause
ATTRIBUTE attribute_specification [,...]
- method_clause
[ INSTANCE | CONSTRUCTOR ] METHOD [SYSUDTLIB.] method_name
[ ( data_type_or_UDT_name [,...] ) ]
{ returns_clause |
LANGUAGE { C | CPP } |
PARAMETER STYLE { SQL | TD_GENERAL } |
[NOT] DETERMINISTIC |
NO SQL
}
- specific_method_clause
SPECIFIC METHOD [SYSUDTLIB.] specific_method_name
[ ( data_type_or_UDT_name [,...] ) ]
FOR [SYSUDTLIB.] UDT_name
- returns_clause
RETURNS data_type_or_UDT_name
CAST FROM data_type_or_UDT_name
- attribute_specification
attribute_name data_type_or_UDT_name
- data_type_or_UDT_name
{ data_type | [SYSUDTLIB.] UDT_name }
- data_type
{ INTEGER | SMALLINT | BIGINT | BYTEINT | DATE |
{ TIME | TIMESTAMP } [ (fractional_seconds_precision) ] [WITH TIME ZONE] |
INTERVAL YEAR [(precision)] [TO MONTH] |
INTERVAL MONTH [(precision)] |
INTERVAL DAY [(precision)]
[TO { HOUR | MINUTE | SECOND [(fractional_seconds_precision)] }] |
INTERVAL HOUR [(precision)]
[TO { MINUTE | SECOND [(fractional_seconds_precision)] }] |
INTERVAL MINUTE [(precision)] [TO SECOND [(fractional_seconds_precision)]] |
INTERVAL SECOND [ ( precision [, fractional_seconds_precision ] ) |
PERIOD (DATE) |
PERIOD ( { TIME | TIMESTAMP } [(precision)] [WITH TIME ZONE] ) |
REAL |
DOUBLE PRECISION |
FLOAT [ (integer) ] |
NUMBER [ ( { integer | *} [, integer]... ) ] |
{ DECIMAL | NUMERIC } [ ( integer [, integer]... ) ] |
{ CHAR | BYTE | GRAPHIC } [ (integer) ] |
{ VARCHAR | CHAR VARYING | VARBYTE | VARGRAPHIC } [ (integer) ] |
LONG VARCHAR |
LONG VARGRAPHIC |
{ BINARY LARGE OBJECT | BLOB | CHARACTER LARGE OBJECT | CLOB }
( integer [ G | K | M ] ) |
{ XML | XMLTYPE } |
JSON [ ( integer ) ] [ CHARACTER SET { UNICODE | LATIN } ] |
[SYSUDTLIB.] { UDT_name | ST_Geometry | MBR | ARRAY_name | VARRAY_name }
}