在 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;
我有两个模式,我正在尝试创建一个具有两个外键约束的 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;