15.00 - Handling Character Sets - Teradata Database

Teradata Database SQL Data Definition Language Detailed Topics

prodname
Teradata Database
vrm_release
15.00
category
Programming Reference
featnum
B035-1184-015K

Handling Character Sets

If a predefined data type is defined as the character type for an attribute, you can also specify a CHARACTER SET clause to associate a character set with the attribute. If you do not specify a character set, then the system stores the character set that was in effect at the time the UDT was created in DBC.TVFields as the character set for the character attribute.

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, Teradata Database aborts the request and returns an error to the requestor. Instead, use a multibyte session character set.

When a character attribute is manipulated by either an observer or mutator method, the character set associated with that attribute type must be one of the following:

  • The character set that was declared for that attribute in the CREATE TYPE statement that created the structured UDT.
  • The character set that was in effect at the time that the CREATE TYPE statement was executed.
  • No collation information is stored with the character type, so the collation that is in effect is always the effective collation sequence at the time the UDT is accessed.

    The purpose of supporting the CHARACTER SET clause is to influence the auto-generated routines. An explicitly specified CHARACTER SET clause causes the following things to happen:

  • Register the auto-generated observer method to return a character type value of the specified character set.
  • Register the auto-generated mutator method to pass in a character parameter type of the specified character set.
  • The CHARACTER SET clause is the only clause supported as an attribute for a predefined data type. The system does not support column attributes such as [NOT] CASESPECIFIC. The default case sensitivity that is in effect at the time that the attribute is accessed (at the time the autogenerated routine is invoked) is the effective case sensitivity.