首页 > 解决方案 > 如何在另一个模式上授予创建外键?

问题描述

我有两个 oracle 用户:User1 和 User2。

我正在尝试在两个表之间创建一个外键约束,如下所示:

ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE

User2 有权选择 User1 表Users_ ( Grant select to user2 on Users_)

运行 alter table 语句时出现错误:权限不足。

有谁知道如何解决这个问题?

干杯,

标签: oracle

解决方案


要针对另一个模式中的表创建外键,我们需要对该表具有 REFERENCES 权限。这是一个单独的特权,因为它给表的所有者带来了负担:如果您引用它们,他们就不能从表中删除记录。了解更多


推荐阅读