Reserved words
Informix®
With Informix, it is possible to create database objects with reserved words.
CREATE TABLE table ( char CHAR(10) );
Indeed this is not good practice, but Informix SQL allows this to be backward compatible when introducing a new keyword in the SQL syntax.
Most other database systems do not allow reserved words as database identifiers. If your legacy
code is using SQL reserved words of the target database SQL syntax, an error will be thrown at
CREATE TABLE
execution.
Microsoft™ SQL Server
Microsoft Transact-SQL does not allow you to use reserved words as database object names (tables, columns, constraint, indexes, triggers, stored procedures, ...).
An example of a common word which is part of SQL Server grammar is 'go
' (see the
'Reserved keywords' section in the SQL Server Documentation).
Solution
Database objects having a name which is a Transact-SQL reserved word must be renamed.
All BDL application sources must be verified. To check if a given keyword is used in a source, you can use UNIX™ 'grep' or 'awk' tools. Most modifications can be automatically done with UNIX tools like 'sed' or 'awk'.
You can use SET QUOTED_IDENTIFIER ON
with double-quotes to enforce the use of
keywords in the database objects naming, but it is not recommended.