Naming Conventions for DB2 under z/OS

For general information about this feature, see SAS Names and Support for DBMS Names.
The PRESERVE_COL_NAMES= and PRESERVE_TAB_NAMES= LIBNAME options determine how SAS/ACCESS Interface to DB2 under z/OS handles case sensitivity, spaces, and special characters. The default for both of these options is NO. Although DB2 is case-sensitive, it converts table and column names to uppercase by default. To preserve the case of the table and column names that you send to DB2, enclose them in quotation marks. For information about these options, see Overview: LIBNAME Statement for Relational Databases .
DB2 objects include tables, views, columns, and indexes. They follow these naming conventions.
  • These objects must have names of the following length in characters: column (1–30), index (1–18), table (1–18), view (1–18), alias (1–18), synonym (1–18), or correlation (1–128). However, SAS limits table names to 32 bytes. This limitation prevents database table objects that are defined through a DATA step—for example, to have names that are longer than 32.
    These objects must have names from 1–8 characters long: authorization ID, referential constraint, database, table space, storage group, package, or plan.
    A location name can be 1–16 characters long.
  • A name must begin with a letter. If the name is in quotation marks, it can start with and contain any character. Depending on how your string delimiter is set, quoted strings can contain quotation marks such as “O'Malley”.
  • A name can contain the letters A–Z, numbers from 0–9, number or pound sign (#), dollar sign ($), or at symbol (@).
  • Names are not case sensitive. For example, CUSTOMER and Customer are the same. However, if the name of the object is in quotation marks, it is case sensitive.
  • A name cannot be a reserved word in DB2.
  • A name cannot be the same as another DB2 object. For example, each column name within the same table must be unique.