创建同义词时出现重复错误

发布于 2024-10-31 02:47:42 字数 402 浏览 6 评论 0原文

我正在尝试为 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 行

有什么想法吗?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阳光的暖冬 2024-11-07 02:47:42

是的,表名和所有者以及同义词名称和所有者不能相同。只能存在一种对象/所有者组合。您必须更改表名的所有者或同义词的名称。

Yes, the table name and owner and the synonym name and owner cannot be the same. Only one object/owner combination may exist. You must either change the owner or the name for the synonym from the table name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文