1

私はSQLを独学していますが、立ち往生しています。Tasks というテーブルを含む Car-garage データベースがあります。テーブル Tasks には、Tasknumber(PK)、NumberPlate、および DaySchedule の 3 つの列があります。DDL では、プレートの数をチェックし、1 日に 1 つのタスクのみを許可する制約を使用したいと考えています。

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

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)
)

これを修正するにはどうすればよいですか?

4

1 に答える 1

0

私の理解が正しければ、UNIQUEに対する制約のみが必要(NumberPlate, DaySchedule)です。次に、すべてNumberPlateの について、1 日に最大 1 つのタスクがあります。

于 2012-05-03T10:07:54.123 に答える