1
あなたは良い一日を過ごしているといいですか? 私はこのようなことをしたい。SQL Server - CHECK節の別の列を参照する
CREATE TABLE Certificat
(
num_certificat SMALLINT NOT NULL,
description TEXT NOT NULL,
Date_depot DATE NOT NULL CHECK(Date_depot <= GETDATE()),
Date_validation DATE NOT NULL CHECK(Date_validation > Date_depot),
num_auteur SMALLINT NOT NULL,
num_innovation SMALLINT NOT NULL,
CONSTRAINT pk_numc PRIMARY KEY(num_certificat),
CONSTRAINT fk_au FOREIGN KEY(num_auteur) REFERENCES Auteur(num_auteur) ON
DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_inn FOREIGN KEY(num_innovation) REFERENCES
Innovation(num_innovation) ON DELETE CASCADE ON UPDATE CASCADE,
);
しかし、私はこのエラーを取得する:
Msg 8141, Level 16, State 0, Line 4 Column CHECK constraint for column 'Date_validation' references another column, table 'Certificat'. Msg 1750, Level 16, State 0, Line 4 Could not create constraint or index. See previous errors.
は、どのように私は、CHECK句に別の列を参照することができますか?私はテーブルがDate_depot
より大きいDate_validation
より大きいエントリを拒否したいと思います。
ありがとうございます。私は他のプログラミング言語に見られるような、なぜそれが何らかの種類の変数であるのだろうか? (C/C++ ...など)? –
列の隣のインラインで宣言された制約は、その列のみを参照できるというTSQL文法の制限です。 –