方法建议:建立两个数据库用户,一个完全控制(insert,update,select)
                              一个仅可以select根据登陆的时间,选择对应的连接数据库的用户,这样来满足你的应用的要求。

解决方案 »

  1.   

    不是,要求就是用一个ldatatime的check约束来解决上面的问题...
      

  2.   

    用check约束来控制权限显得有点怪
    可用作业来定时赋予或解除权限,很简单
      

  3.   

    可以利用自定义函数实现check约束:--创建辅助视图
    create view v
    as
    select getdate() as 'dt'
    go--创建自定义函数
    create function f_check()
    returns int
    as
    begin
          declare @dt datetime
          select @dt=dt from v      if datepart(hour,@dt)<20  --在这里实现日期的检测
             return 0      return 1
    end
    go
    --创建表
    create table tb
    (
      ldatetime datetime check(dbo.f_check()>0),
      ..........
    )
      

  4.   

    这里的工作时间都不是整点,比如20:30,用hour()不太合适,小弟不太清楚datetime类型如果只取完整的时间或日期该怎么办?谢谢老师们...
      

  5.   

    CONVERT(varchar(14), add_date, 120)取前14位的时间