Identifiers

Identifiers are used to name user- (and some system-) defined SQL language objects including databases, tables, domains, columns, column aliases, stored procedures, and user-defined functions. An identifier is formed as a combination of letters, digits, underscore character ('_' ) and dollar sign ($) beginning with a letter or underscore. All identifiers in SQL are case-insensitive. Thus, CUSTOMER, Customer, and customer all refer to the same item. Reserved words cannot be used as identifiers.

To preserve case with identifiers, they identifier should be enclosed in double quotes. For example,

Example Identifier Result
producttype PRODUCTTYPE
ProductType PRODUCTTYPE
"ProductType" ProductType

If quotations are used for any identifier, quotations will need to be used for ALL references of that identifier in the schema or the SQL grammar referencing that identifier.

See the Reserved Words section for a list of words that cannot be used as identifiers.

identifier:
         {letter | '_'}[letterdigit | '_' | '$']...
    |    "{letter | '_'}[letterdigit | '_' | '$']..."

If the schema has been generated using lowercase identifiers, the identifiers will need to be quoted in order for the identifier to be located in the schema.

Example

Both of the following examples will create the same structure but the latter example will preserve the case on the names in the output files used for C/C++ development. The schema examples below are followed by the generated output snippet in the header file created by the rdm-compile utility.

Example 1:

CREATE TABLE product (
    product_id CHAR(5) PRIMARY KEY,
    product_name CHAR(50)
);

Example 2:

CREATE TABLE "product" (
    "product_id" CHAR(5) PRIMARY KEY,
    "product_name" CHAR(50)
);