1: ALTER TABLE [dbo].[表] WITH NOCHECK ADD CONSTRAINT [CK_表] CHECK (毕业日期 between dateadd(year,18,生日) and 入司日期) 2: create trigger on 表 For insert,update As if (毕业日期 not between dateadd(year,18,生日) and 入司日期) begin rollback transaction raiserror('(生日+18年)<毕业日期<=入司日期',16,-1) return end
alter table tablename add constraint ck_somename check (生日+18年)<毕业日期 and (生日+18年)<=入司日期 create trigger for insert,update on tablename AS declare @birthday datetime declare @bysj datetime --毕业时间 declare @rssj datetime --入司时间 select @birthday=生日,@bysj=毕业日期,@rssj=入司时间 from insertedif (dateadd(year,18,@birthday)>=@birthday) or (dateadd(yy,18,@birthday)>=@rssj) rollback tran祝你好运!!!开心就好!!
字段以次为名为[name] ,birthday , graduationdate, comeindate
该怎么写呢?写出马上加分!
ALTER TABLE [dbo].[表] WITH NOCHECK ADD
CONSTRAINT [CK_表] CHECK (毕业日期 between dateadd(year,18,生日) and 入司日期)
2:
create trigger on 表
For insert,update
As
if (毕业日期 not between dateadd(year,18,生日) and 入司日期)
begin
rollback transaction
raiserror('(生日+18年)<毕业日期<=入司日期',16,-1)
return
end
add constraint ck_somename
check (生日+18年)<毕业日期 and (生日+18年)<=入司日期
create trigger for insert,update
on tablename
AS
declare @birthday datetime
declare @bysj datetime --毕业时间
declare @rssj datetime --入司时间
select @birthday=生日,@bysj=毕业日期,@rssj=入司时间 from insertedif (dateadd(year,18,@birthday)>=@birthday) or (dateadd(yy,18,@birthday)>=@rssj)
rollback tran祝你好运!!!开心就好!!