--用CHECK约束实现非工作时间不得修改数据,
create table student
(    
    studentid 
int primary key,
    studentname 
varchar(10),
    insertdate 
datetime constraint CK_datetime  
    
check
    (((
datepart(mm,getdate())=5 and datepart(dd,getdate())>7
    
or(datepart(mm,getdate())=10 and datepart(dd,getdate())>7)
    
or(datepart(mm,getdate())=1)
    
or(datepart(mm,getdate())=2)
    
or(datepart(mm,getdate())=3)
    
or(datepart(mm,getdate())=4)
    
or(datepart(mm,getdate())=6)
    
or(datepart(mm,getdate())=7)
    
or(datepart(mm,getdate())=8)
    
or(datepart(mm,getdate())=9)
    
or(datepart(mm,getdate())=11)
    
or(datepart(mm,getdate())=12)
    )
    
and
    ((
datepart(hh,getdate())=8 and datepart(Mi,getdate())>30)
    
or(datepart(hh,getdate())=9)
    
or(datepart(hh,getdate())=10)
    
or(datepart(hh,getdate())=11)
    
or(datepart(hh,getdate())=12 and datepart(Mi,getdate())<30)
    
or(datepart(hh,getdate())=13 and datepart(Mi,getdate())>30)
    
or(datepart(hh,getdate())=14)
    
or(datepart(hh,getdate())=15)
    
or(datepart(hh,getdate())=16)
    
or(datepart(hh,getdate())=17 and datepart(Mi,getdate())<30)
    )    
    
and
    (
datename(dw,getdate())='星期一'
    
or datename(dw,getdate())='星期二'
    
or datename(dw,getdate())='星期三'
    
or datename(dw,getdate())='星期四'
    
or datename(dw,getdate())='星期五'
    ))
    
)
posted on 2006-11-12 10:33  秦岭过客  阅读(210)  评论(0)    收藏  举报