触发器好象完成不了。
用job作业。

解决方案 »

  1.   

    1、这个不是写触发器,而是用一个作业每天晚上执行
      右键你的数据库服务器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程,在“调度”里面填写什么时间执行
    2、代码:
      update 表 set state='冻结' where 
      (overtime='一个月' and datediff(mm,usetime,getdate())<>0) or
      (overtime='一个季度' and datediff(qq,usetime,getdate())<>0) or
      (overtime='一年' and datediff(yy,usetime,getdate())<>0)
      

  2.   

    1、这个不是写触发器,而是用一个作业每天晚上执行
      右键你的数据库服务器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程,在“调度”里面填写什么时间执行
    2、代码:
      update 表 set state='冻结' where 
      (overtime='一个月' and datediff(mm,usetime,getdate())<>0) or
      (overtime='一个季度' and datediff(qq,usetime,getdate())<>0) or
      (overtime='一年' and datediff(yy,usetime,getdate())<>0)
      

  3.   

    1。建立一个JOB,每天执行一次;
    2。执行SQL语句为:
    update 表 set state='冻结' where 
      (overtime='一月'   and datediff(mm,usetime,getdate()) > 0) or
      (overtime='一季'   and datediff(qq,usetime,getdate()) > 0) or
      (overtime='一年'   and datediff(yy,usetime,getdate()) > 0)
      

  4.   

    利用 SQL Server 代理程序作业,可以使管理任务自动执行和定期运行。可以手工执行一个作业,也可以对其进行调度,使之响应调度表或警报而运行