【问题标题】:Oracle table or view does not exist when creating FK to other user为其他用户创建 FK 时 Oracle 表或视图不存在
【发布时间】:2018-07-20 14:05:35
【问题描述】:

我有 3 个用户,A,B C。A 是 dba。我使用用户 A 登录到 sqlDeveloper。

我创建用户B,并添加一个表“B”。“USERS”;

我创建用户 C,并添加一个表 "C"."SESSIONS";

这些都很好。

然后我尝试像这样添加一个 FK:

更改表“C”。“SESSIONS”添加约束“FK_SESSIONS”外键(“LOCKEDBYUSERTOKEN_ID”)引用“B”。“USERS”(“ID”)

我收到“表或视图不存在”错误。

我认为如果用户 A 是 dba,它可以跨用户和模式创建视图和约束。我需要做什么才能让它工作?

【问题讨论】:

    标签: oracle


    【解决方案1】:

    即使用户 A 具有 DBA 权限,当您在表 C.SESSIONS 上创建约束时,它也会尝试以用户 C 的身份读取 B.USERS。您需要将 B.USERS 上的选择权限授予用户 C。

    【讨论】:

      【解决方案2】:

      基于此链接Insufficient privileges when adding FK constraint (Oracle),您需要为用户添加外键约束。更多信息可以参考这个链接: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:60443882718790

      【讨论】:

        猜你喜欢
        • 2017-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多