我对触发器非常陌生,我似乎无法将我的头围绕在他们身上。假设我这里有两个表:创建在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'。 –