If you want to use the ALL, DISTINCT, or UNIQUE keywords as column names in a SELECT statement, you can take advantage of a workaround.
First, consider what happens when you try to use one of these keywords without a workaround. In the following example, using all as a column name causes the SELECT statement to fail because the database server interprets all as a keyword rather than as a column name:
SELECT all FROM mytab -- fails;
You must use a workaround to make this SELECT statement execute successfully. If the DELIMIDENT environment variable is set, you can use all as a column name by enclosing all in double quotes. In the following example, the SELECT statement executes successfully because the database server interprets all as a column name:
SELECT "all" from mytab; -- successful
The workaround in the following example uses the keyword ALL with the column name all:
SELECT ALL all FROM mytab;
The examples that follow show workarounds for using the keywords UNIQUE or DISTINCT as a column name in a CREATE TABLE statement.
The next example fails to declare a column named unique because the database server interprets unique as a keyword rather than as a column name:
CREATE TABLE mytab (unique INTEGER); -- fails
The following workaround uses two SQL statements. The first statement creates the column mycol; the second statement renames the column mycol to unique:
CREATE TABLE mytab (mycol INTEGER); RENAME COLUMN mytab.mycol TO unique;
The workaround in the following example also uses two SQL statements. The first statement creates the column mycol; the second alters the table, adds the column unique, and drops the column mycol:
CREATE TABLE mytab (mycol INTEGER); ALTER TABLE mytab ADD (unique INTEGER), DROP (mycol);Enterprise Edition Home | Express Edition Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]