CREATE SYNONYM v12

Name

CREATE SYNONYM -- define a new synonym.

Synopsis

CREATE [OR REPLACE] [PUBLIC] SYNONYM [<schema>.]<syn_name>
        FOR <object_schema>.<object_name>[@<dblink_name>];

Description

CREATE SYNONYM defines a synonym for certain types of database objects. Advanced Server supports synonyms for:

  • tables
  • views
  • materialized views
  • sequences
  • stored procedures
  • stored functions
  • types
  • objects that are accessible through a database link
  • other synonyms

Parameters

syn_name

syn_name is the name of the synonym. A synonym name must be unique within a schema.

schema

schema specifies the name of the schema that the synonym resides in. If you do not specify a schema name, the synonym is created in the first existing schema in your search path.

object_name

object_name specifies the name of the object.

object_schema

object_schema specifies the name of the schema that the referenced object resides in.

dblink_name

dblink_name specifies the name of the database link through which an object is accessed.

Include the REPLACE clause to replace an existing synonym definition with a new synonym definition.

Include the PUBLIC clause to create the synonym in the public schema. The CREATE PUBLIC SYNONYM command, compatible with Oracle databases, creates a synonym that resides in the public schema:

CREATE [OR REPLACE] PUBLIC SYNONYM <syn_name> FOR
<object_schema>.<object_name>;

This just a shorthand way to write:

CREATE [OR REPLACE] SYNONYM public.<syn_name> FOR
<object_schema>.<object_name>;

Notes

Access to the object referenced by the synonym is determined by the permissions of the current user of the synonym; the synonym user must have the appropriate permissions on the underlying database object.

Examples

Create a synonym for the emp table in a schema named, enterprisedb:

CREATE SYNONYM personnel FOR enterprisedb.emp;

See Also

DROP SYNONYM