数据库根据“结束时间”字段 改变“状态”字段的值 5

现在有个需求是这样的:表T有一个“结束时间”字段和“状态”字段,而当前时间到结束时间时需要把状态字段的值变为2,请问如何实现如:现在有一条记录结束时间是:2013-06-... 现在有个需求是这样的:
表T 有一个 “结束时间” 字段 和 “状态” 字段,而当前时间到结束时间时需要把状态字段的值变为2,请问如何实现
如:现在有一条记录 结束时间是:2013-06-25 09:00:00 ,当北京时间2013-06-25 09:00:00到时,把状态字段改成2

补充:数据库技术、java、.net技术达到目的都可以
我现在的解决方案是 用servlet写一个监听器,在监听器初始化时为每一条数据库记录建立一个定时器,定时到结束时间 调度改变状态值。但是这个弊端很大,为每一条记录建立一个定时器,如果数据库中有大量的数据,那么将消耗很多系统资源,因此这种设计不合理
展开
 我来答
sxdtgsh
2013-06-24 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:803万
展开全部
这个应该做不到,一到2013-06-25 09:00:00就将状态改为2,会有一段时间的延时的。你可以在数据库中做job,定时执行以下update t set 状态='2' where 当前时间 >= 结束时间。

如果数据库不支持job,可以用java.net写定时处理程序处理。
oracle用dbms_job,sqlserver可以用作业。

其实可以不改这个状态的,因为当前时间>=结束日期,已经代表这个状态了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式