2015-06-11 2 views
1

Допустим, у меня есть схема «SCHEMA_1», и под этим я имею один объект «EMP_TBL_Schema_1». Теперь я хочу получить доступ к этой таблице через другую схему «SCHEMA_2». Только этот «SCHEMA_2» должен иметь доступ к этой таблице (не любая другая схема, присутствующая в БД, кроме «SCHEMA_1»). Таким образом, в этом случае будет уместно, публичный синоним или частный синоним. Я здесь смущен. Как я знаю, частный синоним создается его владельцем Schema, возможно ли, что «SCHEMA_2» может создать собственный синоним по собственному признаку для объектов, присутствующих в «SCHEMA_1».Можем ли мы создать частный синоним в другой схеме, для которой объект находится в другой схеме

Пояснение через код будет оценен.

ответ

1

SCHEMA_2 должен создать личный синоним:

create synonym emp_tbl_schema_1 for schema_1.emp_tbl_schema_1 
/

Обратите внимание, что синоним может быть любым допустимым именем: оно не должно совпадать с именем таблицы в SCHEMA_1. Find out more.

Также обратите внимание, что создание синонима является просто удобством для упрощения написания DML. Он не предоставляет никаких прав на объект, на который делается ссылка. SCHEMA_1 должен предоставить привилегии SCHEMA_2. Это дает выбрать и вставить:

SQL> conn SCHEMA_1/password 
SQL> grant select, insert on emp_tbl_schema_1 to schema_2; 

Это позволяет SCHEMA_2 запросить таблицу и вставить новые записи, но не обновлять или удалять существующие. Очевидно, что команда GRANT полностью заполнена in the documentation.

И наконец, чтобы устранить вашу путаницу, публичные синонимы редко подходят для объектов приложения. Создайте их для объектов утилиты, которые широко используются большинством или всеми пользователями. В противном случае схемы должны создавать частные синонимы для объектов, которые они используют.

+0

Большое спасибо @APC. Ваш ответ прекрасен и разрешает мою проблему. –

+0

Можете ли вы так же, пожалуйста, показать мне грантовую команду в этой ситуации. который очистит мои сомнения. TIA –

+0

Спасибо за эту полезную информацию. –

Смежные вопросы