我正在尝试为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;
执行时,我在Toad中得到以下错误:
第1行错误ORA-00955:名称已被现有对象使用ORA-06512: at line 3
任何想法吗?
是的,表名和所有者以及同义词名和所有者不能相同。只能存在一个对象/所有者组合。必须从表名更改同义词的所有者或名称。