CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

请问如何设置如此的约束???

楼主layer781010(守护神)2003-09-02 13:39:03 在 MS-SQL Server / 疑难问题 提问

 
  有一表:  
  姓名             生日           毕业日期                 入司日期  
  我想要建一个约束:  
  (生日+18年)<毕业日期<=入司日期  
  请问怎么约束?  
  如果用触发器;  
  又该怎么写?  
  create   trigger   for   insert,update...............  
  能给完全解决者给全分!!!  
  问题点数:20、回复次数:6Top

1 楼liuyun2003(流云(老老实实做人,认认真真还贷))回复于 2003-09-02 13:42:35 得分 5

建立一个CHECK就可以了。不需要写触发器什么的。Top

2 楼layer781010(守护神)回复于 2003-09-02 13:51:44 得分 0

liuyun2003您好,请问假如:  
  字段以次为名为[name]   ,birthday   ,   graduationdate,   comeindate  
  该怎么写呢?写出马上加分!Top

3 楼txlicenhe(马可)回复于 2003-09-02 13:55:32 得分 10

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  
   
  Top

4 楼lionstar(小狮子)回复于 2003-09-02 14:00:39 得分 5

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   inserted  
   
  if   (dateadd(year,18,@birthday)>=@birthday)   or   (dateadd(yy,18,@birthday)>=@rssj)  
      rollback   tran  
   
  祝你好运!!!  
   
  开心就好!!  
  Top

5 楼layer781010(守护神)回复于 2003-09-02 14:03:52 得分 0

给分时出现一下错误:  
  如何解决?  
  5,0,15  
  贴子回复次数大于跟给分次数Top

6 楼layer781010(守护神)回复于 2003-09-02 14:06:31 得分 0

再一次感谢大家的帮助!!!  
  谢谢众师兄!!!Top

相关问题

  • 如何在一个字段(airfare int)设置check约束?
  • Access里怎么设置约束条件?
  • 如何查看约束?
  • ▲如何解除外键约束(或其他的约束)
  • 怎样在PowerDesigner 9中设置表之间的约束呢?
  • 如何 把 约束定义成 表级
  • 这样的约束如何建
  • 如何删除字段自增约束
  • 如何设计数据库约束?
  • 如何查看约束的名字?

关键词

  • 约束
  • 次数
  • 生日
  • 日期

得分解答快速导航

  • 帖主:layer781010
  • liuyun2003
  • txlicenhe
  • lionstar

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo