Synonyms

В этом учебном материале вы узнаете, как создавать и удалять синонимы (create and drop synonyms) в Oracle/PLSQL с синтаксисом и примерами.

Описание

В Oracle/PLSQL Synonym это альтернативное имя для таких объектов, как таблицы, представления, последовательности, хранимые процедуры и другие объекты базы данных.
Как правило, вы используете синонимы, когда предоставляете доступ к объекту из другой схемы, и вы не хотите, чтобы пользователи беспокоились о том, к какой схеме относится объект.

Create (or Replace) Synonym

Вы можете создать синоним, так чтобы пользователи не использовали префикс имени таблицы с именем схемы, при использовании таблицы в запросе.

Синтаксис

Синтаксис для создания синонимов Oracle/PLSQL:

CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema .] synonym_name
FOR [schema .] object_name [@ dblink];

OR REPLACE
Позволяет пересоздать синоним (если он уже существует), без необходимости выдавать команду DROP synonym.
PUBLIC
Это означает, что синоним является публичным и доступен для всех пользователей. Помните, что пользователь сначала должен иметь соответствующие привилегии для объекта использования синонима.
schema
Соответствующая схема. Если эта фраза опущена, Oracle предполагает, что вы имеете в виду вашу собственную схему.
object_name
Имя объекта, для которого вы создаете синоним. Это может быть один из следующих объектов:

  • table
  • view
  • sequence
  • stored procedure
  • function
  • package
  • materialized view
  • java class schema object
  • user-defined object
  • synonym

Пример

Рассмотрим пример того, как создать синоним в Oracle/PLSQL.

Например:

Этот первый пример CREATE SYNONYM демонстрирует, как создать синоним с названием suppliers. Теперь, пользователи других схем могут ссылаться на таблицу с suppliers без префикса с именем схемы и именем таблицы.

Например:

Если это синоним уже существует, и вы хотите его пересоздать, то можете использовать OR REPLACE следующим образом:

Drop synonym

После того, как синоним был создан в Oracle, вам в какой-то момент понадобится его удалить.

Синтаксис

Синтаксис drop synonym в Oracle/PLSQL:

DROP [PUBLIC] SYNONYM [schema .] synonym_name [force];

PUBLIC
Позволяет удалить public synonym. Если вы указали PUBLIC, то можете не указывать схему.
force
Это принудит Oracle удалить synonym, даже если он имеет зависимости. Это, вероятно, не очень хорошая идея, чтобы использовать force, поскольку это может привести к недействительности объектов Oracle.

Пример

Рассмотрим пример того, как удалить synonym в Oracle/PLSQL.

Например:

Оператор DROP удалит синоним с названием suppliers, который мы определяли ранее.