Delimited Identifiers on the Command Line
Delimited identifiers are database object names that are identical to reserved words, words that contain spaces, and non-alphanumeric characters that are disallowed in a regular identifier. If the installation allows mixed case names, you can also use delimited identifiers to distinguish among identical names with different case (for example, SALES and Sales).
On the command line, you use delimited identifiers if needed for names of tables, views, synonyms, schema, and authorization names (users, groups, and roles).
To create a delimited identifier, you must enclose the name in double quotation marks ("), dereference any embedded quotes, and use the appropriate number and type of delimiting quotes to pass it through your operating system. Use delimited identifiers on the operating system command line to specify database object names:
report my_database "Jane's table"
You must observe any operating system requirements for specifying quoted parameters, parameters containing embedded quotes, and parameters containing other characters that could be interpreted differently by the operating system. Depending on your operating system, you add delimiting and dereferencing quotes to a delimited identifier on the command line in order to pass it through the operating system with its own delimiting and embedded quotes (if any).
Examples: Delimited Identifiers
The following examples use the table names shown here:
Windows: Surround delimited identifiers and their delimiting quotes with double quotes on the command line, and dereference the delimited identifier quotes, preceding them with a backslash (\):
report my_database "\"Jane's table\""
report my_database "\"\"\"Expert\"table\""
UNIX:
Bourne shell:
Surround delimited identifiers and their delimiting quotes with double quotes on the command line, and dereference the delimited identifier quotes, preceding them with a backslash (\):
report my_database "\"Jane's table\""
report my_database "\"\"\"Expert\"\" table\""
C shell:
Delimit all delimited identifier quotes and all other special shell characters, such as single quotes ('), spaces ( ), and colons (:), preceding them with a backslash (\):
report my_database \"Jane\'s\ table\"
report my_database \"\"\"Expert\"\" table\"
In some cases, strings contained inside delimited identifiers that contain special characters can be surrounded by double quotes instead:
report my_database \""Jane's table"\"
VMS: Surround delimited identifiers with a set of dereferenced double quotes on the command line. Also, you must dereference each embedded quote by doubling it (including any quotes required to dereference an embedded quote):
report my_database """Jane's table"""
report my_database """""""Expert"""" table"""
Delimited Identifiers Used on Authorization Parameters
You can use delimited identifiers to specify a username for the ‑u flag, a groupid parameter for the ‑G flag, or a roleid for the ‑R flag on the command line. A general example is:
sreport my_database myfile -u”user 5” -G”group 2”
Here are specific examples:
Windows:
sreport my_database myfile -u’”user 5”’ -G’”group 2”’
Windows NT:
sreport my_database myfile -u’”user5’””-G’”group 2’”
UNIX:
sreport my_database myfile -u’”user 5”’ -G’”group 2”’
VMS: In OpenVMS, you must also enclose the entire –Ggroupid parameter in double quotes:
sreport my_database myfile -u”””user 5”””“-G”””group2””””
Delimited Identifiers and Case Sensitivity
By default, identifiers are forced to lowercase, and are therefore case-insensitive. The casing rules can be specified at installation time for delimited identifiers. The following settings are allowed:
• Ingres setting: lowercase (case-insensitive; forces all letters to lowercase).
• ISO Entry SQL-92 standard: mixed case (case-sensitive; preserves case for delimited identifiers); regular identifiers are uppercase (case-insensitive; forces all letters to uppercase).
If complying with ISO Entry SQL-92 standards, the system administrator should set delimited identifiers to mixed case.