在 Oracle 和 2 个模式中,在 table 上创建外键失败

Creating foreign keys on a table fails in Oracle and 2 schemas

我有两个模式,我正在尝试创建一个具有两个外键约束的 table。无论我是单独添加约束还是在 table 创建 DDL 中添加约束,创建外键约束都不起作用。也不管这两个用户中的哪一个我都试试运行吧。 oracle错误是ORA-01031:权限不足。 table 是在我省略外键约束时创建的。

预期结果:创建具有两个约束的 table。

CREATE TABLE "XXX_MONITORING"."COMPOSITE_STATUS"
   (    "COMPOSITE_STATUS_ID" NUMBER,
    "COMPOSITE_ID" NUMBER,
    "STATUS" CHAR(1),
    CONSTRAINT "COMPOSITE_FK" FOREIGN KEY ("COMPOSITE_ID")
      REFERENCES "XXX_MONITORING_CONFIGURATION"."COMPOSITE_KPI_COMPONENTS" ("COMPONENT_ID") ON DELETE CASCADE ENABLE,
    CONSTRAINT "COMPOSITE_STATUS_FK" FOREIGN KEY ("STATUS")
      REFERENCES "XXX_MONITORING_CONFIGURATION"."INDICATION_COLOR" ("INDICATION_COLOR_ID") ON DELETE CASCADE ENABLE  
   );

table COMPOSITE_KPI_COMPONENTS 和 INDICATION_COLOR 处于不同的架构中,即 XXX_MONITORING_CONFIGURATION。

该用户必须将 COMPOSITE_KPI_COMPONENTS 和 INDICATION_COLOR 上的 REFERENCES 授予 XXX_MONITORING。

-- Grant statement

grant REFERENCES on COMPOSITE_KPI_COMPONENTS to XXX_MONITORING;
grant REFERENCES on INDICATION_COLOR to XXX_MONITORING;