如何在另一个模式上创建外键?

Tho*_*ton 1 oracle

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

  • User1有一个表Users_
  • User2有一个表TestTable

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

ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE
Run Code Online (Sandbox Code Playgroud)

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

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

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

干杯,

APC*_*APC 8

要为另一个模式中的表创建外键,我们需要对该表具有REFERENCES特权.这是一个单独的权限,因为它会对表的所有者造成负担:如果您引用它们,则无法从表中删除记录.了解更多