限制日常任务的SQL约束
我在自学SQL,我被卡住了。我有一个车库数据库和一个叫做Tasks的表。表Tasks有3列:tasknumperpk、NumberPlate和DaySchedule。在DDL中,我想使用一个约束来检查板的数量,并且每天只允许一个任务 下面是我尝试过的。但是,它限制每个记录,而不是每个板数限制日常任务的SQL约束,sql,date,constraints,Sql,Date,Constraints,我在自学SQL,我被卡住了。我有一个车库数据库和一个叫做Tasks的表。表Tasks有3列:tasknumperpk、NumberPlate和DaySchedule。在DDL中,我想使用一个约束来检查板的数量,并且每天只允许一个任务 下面是我尝试过的。但是,它限制每个记录,而不是每个板数 CREATE TABLE Tasks ( Tasknumber NUMERIC(5) not null, NumberPlate VARCHAR(8) not null, D
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)
)
如何更正此问题?如果我理解正确,您只需要对NumberPlate、DaySchedule设置一个唯一的约束。然后,对于每个数字板,每天最多有一个任务