Creates an alternate name or synonym for an existing database object. The object may be a domain, function, module, procedure, sequence, another synonym, table, or view. Once defined, the synonym can be used in any query or data definition language statement in place of the referenced object. However, the SHOW commands do not accept synonyms. Use the SHOW SYNONYM statement to determine if the name is a synonym.
1 – Environment
You can use the CREATE SYNONYM statement: o In interactive SQL o Embedded in host language programs o As part of a procedure in an SQL module or other compound statement o In dynamic SQL as a statement to be dynamically executed
2 – Format
CREATE -+---------------+-+-----------+---+ +-> OR REPLACE -+ +-> PUBLIC -+ | +------------------ <--------------------+ +-> SYNONYM <synonym-name> FOR -+----------------+-+ +-> object-type -+ | +---------------------- <--------------------------+ +-> <object-name> -+-----------------------------------------+-> +-> COMMENT IS -+-> ' <quoted-string> ' -++ +--------- / <-----------+ object-type = -+-> DOMAIN ----+-> +-> FUNCTION --+ +-> MODULE ----+ +-> PROCEDURE -+ +-> SEQUENCE --+ +-> SYNONYM ---+ +-> TABLE -----+ +-> VIEW ------+
3 – Arguments
3.1 – COMMENT IS 'quoted-string'
This optional clause can be used to add several lines of comment to the synonym object. The comment is displayed by the SHOW SYNONYM statement.
3.2 – FOR object-name
The name of the database object for which the synonym is required. This name must exist for an object in the database. If the optional object type is omitted, then Oracle Rdb will search the database for an object with this name.
3.3 – object-type
Syntax options: DOMAIN FUNCTION MODULE PROCEDURE SEQUENCE SYNONYM TABLE VIEW These optional object types can be used when the referenced object name is not unique within the database. For instance, Oracle Rdb allows a domain and a table to both be called MONEY. Therefore, to create a synonym for the table MONEY, you must use the FOR TABLE clause so that it is uniquely identified.
3.4 – OR_REPLACE
Instructs SQL to replace any synonym of this name if it exists. If it does not exist, a new synonym is created. This shorthand allows replacement of an existing synonym while maintaining all the dependencies established by query and DDL usage of this synonym.
3.5 – PUBLIC
This optional clause is provided for compatibility with the Oracle database server. It is currently not used by Oracle Rdb. Its presence or absence may be used by future releases. Oracle Corporation recommends you use the PUBLIC keyword in applications.
3.6 – synonym-name
The name of the synonym you want to create. The synonym name must be unique within all domains, tables, views, functions, procedures, modules, sequences, and synonyms within the database. You may qualify it with an alias.
4 – Examples
Example 1: Using the Default Alias SQL> CREATE SYNONYM emps FOR employees; Example 2: Using an Explicit Alias for the Synonym SQL> CREATE SYNONYM db1.emps FOR employees; Example 3: Using an Explicit Alias for the Referenced Object SQL> CREATE SYNONYM emps FOR db1.employees; Example 4: Using the Alias Explicitly SQL> CREATE SYNONYM db1.emps FOR db1.employees; Example 5: Using the Table Type SQL> CREATE SYNONYM cash FOR table money cont> COMMENT IS 'use a different name to avoid confusion with' cont> / 'the domain MONEY'; Example 6: Using Multiple Synonyms SQL> CREATE TABLE t_employees_0001 (...); SQL> CREATE SYNONYM employees FOR t_employees_0001; SQL> CREATE SYNONYM emps FOR employees;