2012-05-03 9 views
1

私は自分自身にSQLを教えていると私は立ち往生しています。 Tasksというテーブルを持つCar-garageデータベースがあります。 Tasksテーブルには、Tasknumber(PK)、NumberPlate、DayScheduleという3つの列があります。 DDLでは、プレートの数をチェックし、1日に1つのタスクのみを許可する制約を使用したいと思います。毎日のタスクを制限するためのSQLの制約

以下は私が試したことです。ただし、プレート数ではなくレコードごとに制限されます。

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

私が正しく理解すれば、(NumberPlate, DaySchedule)にはUNIQUEという制約が必要です。次に、NumberPlateごとに、1日あたり最大1つのタスクがあります。

+0

ありがとう、本当に助けてくれました。ナマステ... –