sqlserver2008怎样定时自动更新?
比方说我有一张表,表中有一个flag字段,每当产生flag=0的记录起,无论是更新的还是添加的,从flag=0产生开始后的5分钟后,flag自动更新为1,该如何实现呢?如...
比方说我有一张表,表中有一个flag字段,每当产生flag=0的记录起,无论是更新的还是添加的,从flag=0产生开始后的5分钟后,flag自动更新为1,该如何实现呢?
如果在5分钟内flag通过其他方式变成不是0的了,就不执行自动更新了 展开
如果在5分钟内flag通过其他方式变成不是0的了,就不执行自动更新了 展开
2个回答
展开全部
新增列updatetime,用于记录flag更改时间。
新建触发器,监听字段flag更改为0时修改updatetime=getdate()。
新建存储过程,检查表中flag=0且时间相差当前时间5分钟的,即修改。
新建作业,定期执行存储过程(执行频率根据你的数据库来酌情决定)。
注意:存储过程要考虑你的业务处理逻辑,避免死锁。
追问
我用的2008express版,是不是不能新建作业?
追答
没怎么用过你这个版本,但是文档说是没有的。
那你只能想其它办法来执行了,使用批处理配合计划任务或者外部程序直接去定时执行存储过程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询