【发布时间】:2011-04-19 11:44:33
【问题描述】:
我正在尝试使用外键引用视图,但出现此错误:
“错误:ORA-02270:此列列表没有匹配的唯一键或主键”
但是,我在此视图上创建了一个主键,并在 TOAD 的“约束”选项卡中对其进行了验证。
这是我正在尝试创建的表:
CREATE TABLE QUESTION
(
QUESTION_ID INTEGER not null,
CREATED_USER_ID INTEGER not null,
CONSTRAINT PK_QUESTION PRIMARY KEY (QUESTION_ID),
CONSTRAINT FK_USER
FOREIGN KEY (CREATED_USER_ID)
REFERENCES SOME_VIEW(VIEW_ID)
);
SOME_VIEW 是基于另一个视图的视图,它指向另一个模式中的员工表。
【问题讨论】:
-
我想你想要/需要这个才能拥有一个可能来自多个表的外键,因为一个列可以有多个针对单个列的外键约束......但是值该列必须存在于所有与外部约束相关的表中。我希望这是一种转换数据库的方法,而且只是暂时的。
-
换句话说,SOME_VIEW、OTHER_VIEW 和 BASE_TABLE 都必须具有相同的值才能使此外键约束起作用?
-
相关,虽然旧 (2006):thinkoracle.blogspot.com/2006/11/view-constraints.html
-
@echoblaze:如果您要将 OTHER_VIEW 的外部约束添加到 SOME_VIEW 和 BASE_TABLE(随意移动名称),可以。
-
@OMG Ponies:我在员工表上没有该权限(这是使用视图的目的);我阅读了您的链接,显然物化视图可能是解决方案-您对此了解很多吗?在此期间,我将阅读更多有关它的信息
标签: sql oracle views foreign-keys