Из документации Oracle: http://download.oracle.com/docs/cd/B14117_01/server.101/b10759/sql_elements009.htm
В следующем примере показано, как Oracle разрешает ссылки на объекты в инструкциях SQL.Рассмотрим этот оператор, который добавляет строку данных в таблицу, указанную отделами имен:
INSERT INTO departments
VALUES
(
280,
'ENTERTAINMENT_CLERK',
206,
1700);
На основе контекста оператора Oracle определяет, что отделы могут быть:
- Таблица в вашей собственной схеме
- Представление в вашей собственной схеме
- Частный синоним для таблицы или представления
- Открытый синоним
Oracle всегда пытается разрешить ссылку на объект в пространствах имен в вашей собственной схеме, прежде чем рассматривать пространства имен вне вашей схемы.В этом примере Oracle пытается разрешить отделы имен следующим образом:
Сначала Oracle пытается найти объект в пространстве имен в вашей собственной схеме, содержащей таблицы, представления и частные синонимы.Если объект является частным синонимом, то Oracle находит объект, за которым стоит синоним.Этот объект может находиться в вашей собственной схеме, другой схеме или в другой базе данных.Объект также может быть другим синонимом, и в этом случае Oracle находит объект, для которого этот синоним стоит.
Если объект находится в пространстве имен, то Oracle пытается выполнить оператор наобъект.В этом примере Oracle пытается добавить строку данных в отделы.Если объект имеет неправильный тип для оператора, Oracle возвращает ошибку.В этом примере отделы должны быть таблицей, представлением или частным синонимом, преобразующимся в таблицу или представление.Если отделы являются последовательностями, то Oracle возвращает ошибку.
Если объект не находится ни в одном из пространств имен, в которых до сих пор производилось поиск, то Oracle ищет пространство имен, содержащее общедоступные синонимы.Если объект находится в этом пространстве имен, Oracle пытается выполнить для него оператор.Если объект имеет неправильный тип для оператора, Oracle возвращает ошибку.В этом примере, если отделы являются общедоступным синонимом последовательности, Oracle возвращает ошибку.
То, что он говорит, заключается в том, что Oracle будет проверять локально объекты, которые вы вызываете, прежде чем расширять свой поиск за пределы.,Вполне может быть, что на некоторых из ваших удаленных объектов есть общедоступные (или ваши собственные) синонимы, позволяющие вам ссылаться на них напрямую, тогда как для тех, у кого нет синонимов, вам придется полностью квалифицировать.