## CREATE SYNONYM-Anweisung (create_synonym_statement)

Die CREATE SYNONYM-Anweisung (create_synonym_statement) definiert ein Synonym (alternativer Name) für einen Tabellennamen.

### Syntax

<create_synonym_statement> ::=
CREATE [PUBLIC] SYNONYM [<schema_name>.]<synonym_name> FOR <table_name>

### Erläuterung

Der Tabellenname table_name darf keine temporäre Basistabelle bezeichnen. Der Benutzer muss ein Privileg auf der angegebenen Tabelle besitzen.

Als Schemaname schema_name vor dem Synonymnamen ist nur der Name des aktuellen Benutzers zulässig.

Der Synonymname kann überall an Stelle des Tabellennamens angegeben werden. Dies hat die gleiche Wirkung wie die Angabe des Tabellennamens, für den das Synonym definiert wurde.

#### PUBLIC

Wenn PUBLIC angegeben ist, darf der Synonymname nicht mit dem Namen eines in PUBLIC definierten Synonyms übereinstimmen. Es wird ein Synonym erzeugt, das für alle Benutzer zugreifbar ist.

Wenn PUBLIC nicht angegeben ist, wird ein privates Synonym erzeugt, das nur dem aktuellen Benutzer bekannt ist. In diesem Fall darf der Synonymname nicht mit dem Namen einer bereits existierenden Basis- oder View-Tabelle oder eines privaten Synonyms des aktuellen Benutzers übereinstimmen. Falls ein Synonym gleichen Namens mit dem PUBLIC-Attribut existiert, kann mit diesem vom aktuellen Benutzer nicht mehr zugegriffen werden, bis das private Synonym gelöscht wird.