SQL | СИНОНИМ

Опубликовано: 10 Августа, 2021

SYNONYM предоставляет другое имя для объекта базы данных, называемого исходным объектом, который может существовать на локальном или другом сервере. Синоним принадлежит схеме, имя синонима должно быть уникальным. Синоним не может быть исходным объектом для дополнительного синонима, а синоним не может относиться к определяемой пользователем функции.

Приведенный ниже запрос приводит к записи для каждого синонима в базе данных. Этот запрос предоставляет подробную информацию о метаданных синонимов, таких как имя синонима и имя базового объекта.

 Выбрать * 
из sys.synonyms;

Примечание. Синонимы зависят от базы данных и недоступны для других баз данных.

Синтаксис -

 СОЗДАТЬ синоним SYNONYM 
ДЛЯ servername.databasename.schemaname.objectname;
ИДТИ



Пример -
Предположим, что Geektabtable GFGdatabase, Geeekshschema на сервере с именем Server1. Чтобы ссылаться на эту таблицу с другого сервера, Server2, приложение должно использовать состоящее из четырех частей имя Server1.GFG.Geeeksh.Geektab. Кроме того, если местоположение таблицы изменится, например, на другой сервер, приложение придется изменить, чтобы отразить это изменение.

Чтобы решить обе эти проблемы, можно создать синоним Geektable на Server2 для Geektabtable на Server1. Теперь приложение должно использовать только одночастное имя Geektable, чтобы указать таблицу Geektab. Кроме того, если местоположение таблицы Geektab изменится, вам придется изменить синоним Geektable, чтобы он указывал на новое местоположение таблицы Geektab.

Теперь давайте создадим синоним для таблицы Geektab базы данных GFG, схемы Geeeksh на сервере с именем Server1.

 СОЗДАТЬ SYNONYM Geektable  
ДЛЯ Server1.GFG.Geeeksh.Geektab;  
ИДТИ

Найдите вывод в Server2, используя синоним.

 ВЫБЕРИТЕ ID, имя    
ОТ Geektable;

Выход -

Я БЫ Имя
1 Ниша
2 Мира
3 Punit
4 Баран
 (Затронуты 4 ряда)