我對觸發器非常陌生,我似乎無法將我的頭圍繞在他們身上。假設我這裏有兩個表:創建在SQL Server中比較日期的觸發器
CREATE TABLE Project
(
id INT NOT NULL IDENTITY(1, 1),
startDate DATETIME,
endDate DATETIME
);
CREATE TABLE Work
(
date DATETIME,
projectId INT
);
我插入一些數據:
INSERT INTO Project VALUES ('2017-04-18', '2017-05-01'); /*id = 1*/
INSERT INTO Work VALUES ('2017-04-17', 1);
假設這裏只有1 id = 1
項目,這應該順利。然而,我的工作在項目開始的前一天開始(在這種情況下並非如此)沒有多大意義。我將如何創建基本上說date cannot be < startDate OR > endDate
的觸發器?
你應該在應用層處理業務規則,而不是在數據庫層。 –
@WEI_DBA我知道。這完全不相關,我絕不會在真正的應用程序中這樣做。 – MortenMoulder
然後...在'Work'表上使用'而不是Insert Trigger'。 –