触发条件发送的问题

ben19850410 2007-12-04 11:10:48
自动发送条件:
1、 风速(20时开计),当日瞬时极大风速达到(≥17.2米/秒、≥20.8米/秒、≥24.5米/秒、≥28.5米/秒、≥32.7米/秒、≥37.0米/秒、≥41.5米/秒、≥46.2米/秒、≥51.0米/秒、≥56.1米/秒)时,就发送。
一日内,达到发送条件,只发一次,就高
例:当天20时后,1号站22:52风速为25.6米/秒(达到≥24.5米/秒),就发;1号站23:02风速为40.6米/秒(达到≥37.0米/秒),再发;
1号站23:32风速为32.7米/秒,不发
同时,多个站达到条件,就组成在1条短信内
2、 日最高气温≥37.0℃、≥39.0℃,
3、 日最低气温≤5.0℃、≤0℃
4、 电池电压≤10.5V

自动发送的条件,只要系统检测到条件符合,系统也会及时地将数据发送给用户,达到某一标准只发送一次,达到另一标准再发送一次,不同项目同时达到标准同时发送,当达到某个标准后,如果后面还有达到标准的,但该标准低于前面一次标准,不发送,例如:1点的风速为25(》24.5),发送一次,1点半的风速为22(》20.8),虽然达到标准,但因为前面已经达到比这次高的标准了
数据表:时间,站号,风力,温度~~~~~~~~~
请问数据库应该怎么实现这功能,想得头大了,各位高手帮帮忙
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2007-12-04
  • 打赏
  • 举报
回复
在inserted,deleted里是所有数据,可以游标或其它方式一个一个处理
rouqu 2007-12-04
  • 打赏
  • 举报
回复
如果数据单次插入行>1就不行了 MSSQL里面有没有行级触发器?
rouqu 2007-12-04
  • 打赏
  • 举报
回复
你数据库系统里肯定有实时风速表 数据应该是不间断插入 写一段大致参考

create trigger t_xxx on tb_speed_record
for insert
as
declare @speed numeric(3,0)
select @speed = speed from inserted
if @speed >=17.2 --add condition
begin
if (@speed > (select max(speed) from tb_speed_record))
xp_cmdshell ...
else
...
end
else
...
ben19850410 2007-12-04
  • 打赏
  • 举报
回复
数据表:时间,站号,风力,温度~~~~~~~~~
实现用户可以定制要哪项信息:风力,温度,电压,定制了项目后,为每个项目勾选站点,有14个站
用户定制表:用户号码,站号,项目,标准,已发送标志

我数据库是这样设计的,现在问题是:到某一标准只发送一次,达到另一标准再发送一次,不同项目同时达到标准同时发送,当达到某个标准后,如果后面还有达到标准的,但该标准低于前面一次标准,不发送

请高手指点
-狙击手- 2007-12-04
  • 打赏
  • 举报
回复
条件的判断并不复杂呀,
你的难题在哪?发送?

34,590

社区成员

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

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