使用SQL Agent,定时执行一段脚本,删除名为"table"表中的所有数据即可

解决方案 »

  1.   

    由于是使用sql2005免费版,无法生成作业.我想问的是能否用触发器写,能否在这里给点提示.谢谢
      

  2.   


    触发器也要有东西触发它啊呵呵~~要不就写个Windows Service吧
      

  3.   

    使用job可以.触发器顾名思义,需要触发. 而你的要求是定时触发,触发器是依具数据变动而触发.2005里增加了ddl触发器,当数据库对象变动时也可以触发, 但归根结底还是依具数据的变动进行触发.2005免费版确实没有agent服务.只能自己写windows服务了,或写一个任务栏程序,放一个定时器,在那里定时执行语句了.
    还有一种变相的做法,利用计划任务,即task shudule服务.
    先写一个exe,执行清表操作.再用计划任务在每天你指定的时间执行这个exe
      

  4.   

    还有一种无聊的做法就是服务器上打开一个webpage:  autoResetTable.aspx
    创建一个存储过程
    create proc resetTable
    (@d datetime)
    as
       if datediff(mi,@d,getdate())=0
           truncate table yourTable
    go
    autoResetTable.aspx.cs:给@d参数赋为system.datetime.now 并执行这个存储过程,执行完后, response.redirect "?"让这个页面自己来刷时间.当然,存储过程中的那些操作你也可以放在cs代码里操作.