【发布时间】:2017-12-05 13:08:16
【问题描述】:
我一直在想如何为我的 UDT 的属性添加一些约束。
这是我的情况。我有一个 UDT,它代表员工每天应该工作的小时数(请原谅我使用意大利名字)。
CREATE OR REPLACE TYPE TURNO_GIORNALIERO AS OBJECT(
GIORNO VARCHAR(15),
ORA_INIZIO DATE,
NUMERO_ORE NUMBER,
MEMBER FUNCTION getOreLavoro RETURN NUMBER
);
然后我将新类型定义为 TURNO_GIORNALIERO 中的 VARRAY(5),命名为 TURNI_SETTIMANALI(这是一个包含员工一周中每天应该工作的小时数的 Varray)。
CREATE OR REPLACE TYPE TURNI_SETTIMANALI AS VARRAY(5) OF TURNO_GIORNALIERO;
最后,我创建了包含TURNI_SETTIMANALI 的表。
CREATE TABLE TURNO_LAVORO(
ID_TURNO CHAR(9) PRIMARY KEY,
TURNO TURNI_SETTIMANALI NOT NULL,
);
我要做的是向表TURNO_LAVORO添加一个约束,以检查NUMERO_ORE(在TURNO GIORNALIERO中定义)是否大于5。
有人可以帮我吗?我尝试了几种解决方案,但都没有奏效。
【问题讨论】: