トリガーは非常に新しいので、私の周りに頭を包んでいるようには見えません。 id = 1
を持つ唯一の1つのプロジェクトがありますと仮定SQL Serverの日付を比較するトリガーを作成する
INSERT INTO Project VALUES ('2017-04-18', '2017-05-01'); /*id = 1*/
INSERT INTO Work VALUES ('2017-04-17', 1);
、これはうまく行くはずです。私はいくつかのデータを挿入
CREATE TABLE Project
(
id INT NOT NULL IDENTITY(1, 1),
startDate DATETIME,
endDate DATETIME
);
CREATE TABLE Work
(
date DATETIME,
projectId INT
);
:のは、私はここに2つのテーブルを持っていると仮定しましょう。しかし、私の仕事は、プロジェクトが始まる前の日(この場合ではなく)に始まることはあまり意味がありません。基本的にdate cannot be < startDate OR > endDate
というトリガーを作成するにはどうすればよいですか?
あなたはすべきですデータベースレイヤではなく、アプリケーションレイヤでビジネスルールを処理します。 @WEI_DBA私が知っているのは –
です。これはまったく仕事に関係するものではなく、実際のアプリケーションでこれを行うことは決してありません。 – MortenMoulder
Then ... 'Work'テーブルに' Insert Trigger'の代わりに 'を使います。 –