我正在尝试在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:第3行
有什么想法吗?
答案 0 :(得分:4)
是的,表名和所有者以及同义词名称和所有者不能相同。只能存在一个对象/所有者组合。您必须从表名中更改同义词的所有者或名称。