sql server 维护计划

weimei521 2016-07-18 09:38:51
现在有ST_Card表,字段中有积分,SF_PromotionCase(活动)表中有 活动结束时间字段,现在要求是活动结束,积分自动清零,在维护计划里能实现吗?
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weimei521 2016-07-18
  • 打赏
  • 举报
回复
引用 2 楼 zjcxc 的回复:
通常建议计划更新做为一个补充手段,比如已经过期的清理(迁移)以减少实时查询的数据量,实时查询始终包含结束时间的判断条件
我现在是做了一个维护计划,每天执行一次 declare @Case_EndDate DateTime; select Top 1 @Case_EndDate= Case_EndDate from SF_PromotionCase order by Case_EndDate desc; if (@Case_EndDate<GETDATE()) begin update ST_Card set Score_Total=0,Score_Trade =0 end
zjcxc 元老 2016-07-18
  • 打赏
  • 举报
回复
通常建议计划更新做为一个补充手段,比如已经过期的清理(迁移)以减少实时查询的数据量,实时查询始终包含结束时间的判断条件
zjcxc 元老 2016-07-18
  • 打赏
  • 举报
回复
如果要准确的话,应该在查积分的时候,排除已经过期的 定时的计划要做精确的时间控制比较麻烦,你的计划可能会有某些原因延迟(比如服务器压力大,上次处理的数据多,导致已经到了现在的计划周期,但上次的仍然没有完成等) 另外,计划是周期性基于明确时间点的,而你的结束时间显然不是周期性的,也不是确定时间点,因为你的时间跟数据有关系,所以使用现成的计划任务的话,你需要在数据 insert/update/delee 的时候去维护计划的执行时间点
  • 打赏
  • 举报
回复
引用 5 楼 weimei521 的回复:
[quote=引用 4 楼 yupeigu 的回复:] 其实这个最主要的是,要通过任务来自动实现,时间点不好把握,如果不要求实时性很强的,可以像你上面的代码,做维护计划,每天只运行一次。 如果要求一定的实时性,可以增加一个判断,如果过期了,自动清0.
上面写的这个,测试 运行不起来,报错: 执行查询“declare @Case_EndDate DateTime; select Top 1 @Cas...”失败,错误如下:“列名 'Score_Total' 无效。 列名 'Score_Trade' 无效。”。失败的原因可能有: 查询本身有问题、未正确设置 "ResultSet" 属性、未正确设置参数或未正确建立连接。 搞的头大,也指定数据库了,人家非得要实时的,本来活动就可以设置很多个,不可能每次结束就清零! 用Timer吧,程序工作量就很大![/quote] 我也执行了一下这个代码,只要是字段名称么有写错,应该不太可能报错。 所以,你可以试试把这个代码放到一个存储过程里,然后再任务计划里调用存储过程试试
weimei521 2016-07-18
  • 打赏
  • 举报
回复
引用 4 楼 yupeigu 的回复:
其实这个最主要的是,要通过任务来自动实现,时间点不好把握,如果不要求实时性很强的,可以像你上面的代码,做维护计划,每天只运行一次。 如果要求一定的实时性,可以增加一个判断,如果过期了,自动清0.
上面写的这个,测试 运行不起来,报错: 执行查询“declare @Case_EndDate DateTime; select Top 1 @Cas...”失败,错误如下:“列名 'Score_Total' 无效。 列名 'Score_Trade' 无效。”。失败的原因可能有: 查询本身有问题、未正确设置 "ResultSet" 属性、未正确设置参数或未正确建立连接。 搞的头大,也指定数据库了,人家非得要实时的,本来活动就可以设置很多个,不可能每次结束就清零! 用Timer吧,程序工作量就很大!
  • 打赏
  • 举报
回复
其实这个最主要的是,要通过任务来自动实现,时间点不好把握,如果不要求实时性很强的,可以像你上面的代码,做维护计划,每天只运行一次。 如果要求一定的实时性,可以增加一个判断,如果过期了,自动清0.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧