【发布时间】:2013-11-27 16:19:29
【问题描述】:
我是 SQL 新手,我目前遇到了一个问题,即我试图在我的一个列上放置一个约束。
我的数据库为艺术画廊建模,画作可以在画廊中,也可以借给另一个画廊。显然它不能两者兼而有之,所以我试图在创建 on_loan 表时对其施加约束,以阻止我的 on_loan 表的绘画 ID (P_id) 与我的 in_gallery 表中的 P_id 相同。这是我到目前为止所做的:
create table in_gallery (
P_id NUMBER (10) CONSTRAINT PK_IN_GALLERY PRIMARY KEY,
CONSTRAINT IN_GALLERY_FK FOREIGN KEY(P_id) REFERENCES painting(P_id) ON DELETE CASCADE);
create table on_loan (
P_id NUMBER (10),
CONSTRAINT BOOK_IS_IN_GALLERY CHECK(P_id != in_gallery(P_id)));
这会出现错误:
ERROR at line 3:
ORA-00904: "IN_GALLERY": invalid identifier
我该如何解决这个错误?
谢谢。
【问题讨论】:
标签: sql constraints