数据库表中有一些没用的过期数据,想要把它们删除,能不能设定判断表中数据是否超过有效时间,如果超过则删除这些记录。

解决方案 »

  1.   

    可以的
    datedaff(day,-天数,getdate())用表中的日期与datedaff(day,-天数,getdate())比较即可
      

  2.   

    有时间字段不?有就简单:delete from tb where datediff(day,时间,getdate())>10   --删除10天前的delete from tb where datediff(month,时间,getdate())>1   --删除1个月前的delete from tb where datediff(year,时间,getdate())>1   --删除1年前的
      

  3.   


    定时作业的制定 企业管理器 
    --管理 
    --SQL Server代理 
    --右键作业 
    --新建作业 
    --"常规"项中输入作业名称 
    --"步骤"项 
    --新建 
    --"步骤名"中输入步骤名 
    --"类型"中选择"Transact-SQL 脚本(TSQL)" 
    --"数据库"选择执行命令的数据库 
    --"命令"中输入要执行的语句: 
                          EXEC 存储过程名 ... --该存储过程用于创建表 --确定 
    --"调度"项 
    --新建调度 
    --"名称"中输入调度名称 
    --"调度类型"中选择你的作业执行安排 
    --如果选择"反复出现" 
    --点"更改"来设置你的时间安排  
    然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法: 
    我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.