Name resolution of SQL objects
Informix®
Informix uses the following form to identify an SQL
object:
database[@dbservername]:][{owner|"owner"}.]identifier
The ANSI convention is to use double quotes for identifier delimiters (For example:
"customer"."cust_name"
).
Informix database object names are not case-sensitive in non-ANSI databases. When using double-quoted identifiers, Informix becomes case sensitive.
With non-ANSI Informix databases, you do not have to
give a schema name before the tables when executing an SQL
statement:
SELECT ... FROM customer WHERE ...
In
Informix ANSI compliant databases:
- The table name must include "owner", unless the connected user is the owner of the database object.
- The database server shifts the owner name to uppercase letters before the statement executes, unless the owner name is enclosed in double quotes.
PostgreSQL
With PostgreSQL, an object name takes the following
form:
[owner.]identifier
Solution
As a general rule, to write portable SQL, it is recommended that you only use simple database object names without any database, server or owner qualifier and without quoted identifiers.