【发布时间】:2016-12-18 03:02:01
【问题描述】:
我在这里是因为我在寻找这个问题的答案时遇到了严重的问题。我的疑问是: 我创建了以下两个表(我省略了一些东西,因为我认为在这里写所有东西没有用):
SQL> CREATE TABLE PRESTAMO (
num_prestamo NUMBER(9),
fecha_prestamo DATE,
fecha_devolucion DATE,
tipo VARCHAR(16) CONSTRAINT tipo_nnull NOT NULL,
CONSTRAINT tipo_ck CHECK (tipo='Prestamo en sala' OR tipo='Prestamo externo')
);
还有,这个:
SQL> CREATE TABLE SOLICITA (
num_prestamo NUMBER(9) REFERENCES PRESTAMO(num_prestamo),
isbn NUMBER(9) REFERENCES LIBRO(ISBN),
fecha_solicitud DATE,
);
我想做的是设置一个限制,以便 fecha_solicitud
谢谢大家。
【问题讨论】:
-
我们能看到代码sn-p吗? stackoverflow.com/help/how-to-ask。感谢您完成 2 分钟的实地考察。很多人不这样做,至少在这方面做得很好。
-
什么是
fecha_prestamo?我在两张表中都没有看到。大概它是您没有在第一个表中显示的列。约束仅存在于单个表中的行上,因此这不起作用。 -
我刚刚添加了缺失的列。
-
T-Heron,我不明白你说“code sn-p”是什么意思,因为我已经在展示我所拥有的了。
-
表格是否以某种方式相关?也许 num_prestamo 是第一个表中的主键和第二个表中的外键(指向第一个表)?您显然需要两个表之间的“连接条件”(否则,您如何限制一个表中一行的日期与来自另一表的日期...哪一行...?)