--用作业就可以了!
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句: delete from 表 
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排 (每天中午12:00)
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

解决方案 »

  1.   

    to zlp321002(想在北京找份工作!):
    谢谢,我试试,成功后马上结帖。
      

  2.   

    1、表中必须保留一个日期字段,用于描述当前记录的插入时间2、建一个JOB,设置为每分钟执行一次,所执行的工作为:
       delete 表 where datediff(ss,日期字段,getdate())>86400
      

  3.   

    to zlp321002(想在北京找份工作!):
    好象不行,我的意思是表里的一条记录只能存在24小时,今天中午12:00我加了条记录A,那么明天中午12:00记录A就应该被自动删除,如果我今天中午12:03还加了条记录B,那么记录B明天中午12:03分就会自动删除。
      

  4.   

    楼主当前的表结构是无法实现该功能的,必须在表中增加一个记录当前记录插入数据表时间的字段。至于自动删除一天前记录的工作,可以交给JOB来实现,手工建立JOB的方法楼上已经提供出来了,不过应该设置这个JOB每分钟执行一次,用当前系统时间与表中记录插入时间比较,当时间差大于1天(1440分钟或者86400秒)时,删除满足条件的记录。
      

  5.   

    to libin_ftsafe(子陌红尘):
    谢谢,对,肯定是要加个字段的,但是怎样删除时间过了一天的记录?请给出SQL语句,再次感谢。
      

  6.   

    谢谢,对,肯定是要加个字段的,但是怎样删除时间过了一天的记录?请给出SQL语句,再次感谢。
    ---------------------------------------------------------------------------------------
    delete 表 where datediff(ss,日期字段,getdate())>86400
      

  7.   

    --解决了吗??
    --delete 表 where datediff(ss,日期字段,getdate())>86400 还可以添加删除的条件!
      

  8.   

    datediff(ss,日期字段,getdate())>86400表示记录被插入数据表的时候与当前系统时间的时间间隔为86400秒,即1440分钟或24小时或1天。
      

  9.   

    to zlp321002(想在北京找份工作!)和libin_ftsafe(子陌红尘):
    我已经明白你们的设计思想了,太感谢了,结帖。