2009-07-29 1 views
0

Я создал публичный синоним, как предлагалось в моем другом вопросе о создании вида на системном уровне. Сказав, что я создал отдельный публичный синоним из представления, так что мне больше не нужно подключаться к отдельному домену. Теперь моя проблема заключается в том, как создать главный вид публичного синонима для захвата всех тех синонимов, которые я создал ранее. В какой степени можно использовать выражение «для»?Создание общественного синонима на системном уровне

Пример: На уровне системы я буду запускать запрос для каждого домена, где создан MYVIEW: Создать или заменить общедоступный синоним domain1_myview для домена1.myview; Создать или заменить общедоступный синоним domain2_myview для домена2.myview; Создать или заменить общедоступный синоним domain3_myview для домена3.myview;

Тогда у меня есть 3 общих синонима выше.

Тогда я попробовал писать заявление (от отчаяния - не как специалист), как показано ниже в надежде иметь только один Master_MYVIEW но не удался: Создать или заменить MASTER_MYVIEW публичного синонима (выберите * от domain1_myview союза все выбрать * из domain2_myview союза все выберите * из домена3_myview);

ошибка с приведенной выше: «ORA-00995: отсутствует или недействительный идентификатор синонима»

Надежда кто-то может помочь мне в решении этой задачи. Хорошего дня.

+0

Я также try: СОЗДАТЬ ИЛИ ЗАМЕНИТЬ PUBLIC SYNONYM MASTER_MYVIEW для (выберите * из домена1.myview union all select * from domain2.myview) и так далее. Но у меня возникла ошибка: «Недостаточная привилегия». Общие парни, помогите мне здесь. Оцените любой ответ. – Fadzil

+0

Привет, ребята ... Я все еще жду ответа от любого из вас ... действительно отчаянный здесь. Я вне выбора, и мне также нужно знать, возможно ли или нет создать основной синоним из синонима, о котором я упомянул ранее. Это может быть иначе, чем владелец PUBLIC и PUBLIC SYNONYM? – Fadzil

ответ

1

Попробуйте создать представление с именем MASTER_MYVIEW первой (возможно, придется иметь дело с правами там же):

create view master_myview as select ...; 

Затем создать публичный синоним для этого нового взгляда:

create or replace public synonym master_myview for <owner>.master_myview; 
+0

Ограничение с недостаточным преувеличением связано с моим грантом. GRANT ВЫБРАТЬ ЛЮБЫЕ ТАБЛИЦЫ К администратору (например, администратор - пользователь) – Fadzil