日期:2014-05-17  浏览次数:20488 次

有一张表a 有recorddate字段 date型的 如何删除 7天前的记录
有一张表a 有recorddate字段 datetime型的 如何删除 180天前的记录 
------最佳解决方案--------------------
定一个作业,每天运行一次。
作业内容:
1、获取作业运行当时的时间:getdate()
2、表中min(recorddate)的日期差即:datediff(dd,getdate(),min(recorddate>180的删掉。
------其他解决方案--------------------
能具体点吗?? 没用过作业
------其他解决方案--------------------
引用:
定一个作业,每天运行一次。
作业内容:
1、获取作业运行当时的时间:getdate()
2、表中min(recorddate)的日期差即:datediff(dd,getdate(),min(recorddate>180的删掉。



能具体点吗?? 没用过作业
------其他解决方案--------------------
DELETE a WHERE DATEDIFF(d, recorddate, GETDATE()) > 180
------其他解决方案--------------------
引用:
引用:
定一个作业,每天运行一次。
作业内容:
1、获取作业运行当时的时间:getdate()
2、表中min(recorddate)的日期差即:datediff(dd,getdate(),min(recorddate>180的删掉。


能具体点吗?? 没用过作业

1、打开SQLServer Management studio
2、SQLServer代理
3、右键作业→新建→起一个好标识的作业名→在左边【步骤】那里→【新建】→输入步骤名→在下方大空白处填入你的代码(这里代码你自己写吧)。选择对应的数据库→确定
4、左边【计划】→【新建】→那里你自己看着来填吧。

建议你先找个简单的功能来测试,比如做个作业,实现每一分钟从某个表查询一条数据然后插入另外一个表。多试几次你在正式做。如果你看不懂我说的,那到网上找找有没有图文并茂的吧。
------其他解决方案--------------------
十分感谢 DBA_Huangzj