如何授予在另一个架构上创建外键?

时间:2018-09-04 10:56:01

标签: oracle

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

  • User1有一个表 Users _
  • User2有一个表 TestTable

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

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语句时,我遇到一个错误:特权不足。

有人知道如何解决吗?

干杯

1 个答案:

答案 0 :(得分:7)

要针对另一个架构中的表创建外键,我们需要对该表具有REFERENCES特权。这是一个单独的特权,因为它给表的所有者带来了负担:如果您引用它们,则它们无法从表中删除记录。 Find out more