我正在教自己SQL,我被困住了。我有一个Car-garage数据库,里面有一个名为Tasks的表。表Tasks有3列:Tasknumber(PK),NumberPlate和DaySchedule。在DDL中,我想使用一个约束来检查印版的数量,并且每天只允许一个任务。
以下是我的尝试。但是,它限制每个记录而不是每个板数。
CREATE TABLE Tasks (
Tasknumber NUMERIC(5) not null,
NumberPlate VARCHAR(8) not null,
DaySchedule DATE not null,
Description VARCHAR(255) null,
CONSTRAINT PK_Tasknumber PRIMARY KEY (Tasknumber),
D AS DAY(DaySchedule) PERSISTED,
M AS MONTH(DaySchedule) PERSISTED,
Y AS YEAR(DaySchedule) PERSISTED,
CONSTRAINT UQ_DATA_DMY UNIQUE(D,M,Y)
)
我该怎么做才能纠正这个问题?
答案 0 :(得分:0)
如果我理解正确,您只需要UNIQUE
(NumberPlate, DaySchedule)
约束。然后,对于每个NumberPlate
,每天最多只能有一个任务。