0

I am attempting to create synonyms for a user in 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;

I get the following error in Toad when executed:

Error at line 1 ORA-00955: name is already used by an existing object ORA-06512: at line 3

Any thoughts?

4

1 に答える 1

4

はい、テーブル名と所有者、および同義語名と所有者を同じにすることはできません。オブジェクトと所有者の組み合わせは1つだけ存在できます。テーブル名からシノニムの所有者または名前を変更する必要があります。

于 2011-04-08T15:36:25.643 に答える