ANSI-Compliant Database Restrictions and Case Sensitivity
Owner Name Specification | What the ANSI-Compliant Database Server Does |
---|---|
Omitted | Reads or stores owner exactly as the login name is stored in the system, but returns an error if the user is not the owner. |
Specified without quotation marks | Reads or stores owner in uppercase letters |
Enclosed between quotation marks | Reads or stores owner exactly as entered. See also Using Quotation Marks and Referencing Tables Owned by User informix. |
If you specify the owner name when you create or rename a database object in an ANSI-compliant database, you must include the owner name in data access statements. You must include the owner name when you access a database object that you do not own.
CREATE VIEW 'nancy'.njcust AS
SELECT fname, lname FROM customer WHERE state = 'NJ';
SELECT * FROM nancy.njcust;
In a distributed query, if the owner name is not between quotation marks, the remote database follows the lettercase convention of the local database. If the local database is ANSI-compliant, then the remote database processes the owner name in uppercase. If the local database is not ANSI compliant, then the remote database processes the owner name in lowercase.
Because owner name is an authorization identifier, rather than an SQL identifier, you can enclose owner between single-quotation marks ( ' ) in SQL statements of a database where the DELIMIDENT environment variable specifies support for delimited identifiers, thereby requiring double-quotation marks ( " ) around SQL identifiers.