Дублирующая ошибка при создании синонимов - PullRequest
0 голосов
/ 08 апреля 2011

Я пытаюсь создать синонимы для пользователя в Oracle.

BEGIN
    FOR S IN (SELECT owner, table_name FROM all_tables WHERE owner = 'TABLE_OWNER') LOOP
        EXECUTE IMMEDIATE 'create synonym '||S.table_name||' for '||S.owner||'.'||S.table_name||'';
    END LOOP;
END;

Я получаю следующую ошибку в жабе при выполнении:

Ошибка в строке 1 ORA-00955: имя уже используется существующим объектом ORA-06512: в строке 3

Есть мысли?

1 Ответ

4 голосов
/ 08 апреля 2011

Да, имя и владелец таблицы, а также имя и владелец синонима не могут быть одинаковыми.Может существовать только одна комбинация объект / владелец.Вы должны изменить владельца или имя синонима из имени таблицы.

...