CREATE TYPE Syntax | Teradata Vantage - CREATE TYPE Syntax (Distinct Form) - Advanced SQL Engine - Teradata Database

SQL Data Definition Language Syntax and Examples

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
Published
September 2020
Language
English (United States)
Last Update
2021-01-23
dita:mapPath
wgr1555383704548.ditamap
dita:ditavalPath
lze1555437562152.ditaval
dita:id
B035-1144
lifecycle
previous
Product Category
Teradata Vantage™
CREATE TYPE [ SYSUDTLIB. ] UDT_name AS data_type
  [ CHARACTER SET server_character_set ]
  FINAL [ method_specification ] [;]
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 ] ) |

  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 ])
}
method_specification
[ INSTANCE ] METHOD [ SYSUDTLIB. ] method_name
  ( parameter_specification [,...] )
  RETURNS returns_parameter_specification [ AS LOCATOR ]
  [ CAST FROM { data_type | [ SYSUDTLIB. ] UDT_name } [ AS LOCATOR ] ]
  [ SPECIFIC [ SYSUDTLIB. ] specific_method_name ]
  [ SELF AS RESULT ]
  language_and_access_specification
  type_attribute [...]
You can specify language_and_access_specification and type_attribute in the reverse order.
parameter_specification
[ parameter_name ] {
  data_type [ CHARACTER SET server_character_set ] |
  [ SYSUDTLIB. ] UDT_name
} [ AS LOCATOR ]
returns_parameter_specification
data_type [ CHARACTER SET server_character_set ] |
  [ SYSUDTLIB. ] UDT_name
} [ AS LOCATOR ]
language_and_access_specification
language_clause SQL_data_access
If language_and_access_specification is before type_attribute, you can specify language_clause and SQL_data_access in the reverse order.
type_attribute
{ SPECIFIC [ SYSUDTLIB. ] specific_method_name |
  PARAMETER STYLE { SQL | TD_GENERAL } |
  [NOT] DETERMINISTIC |
  CALLED ON NULL INPUT |
  RETURNS NULL ON NULL INPUT  
}