mysql触发器,在纠正错误后让触发器重新计算整个表

时间:2014-11-21 13:14:04

标签: mysql triggers

我正在使用触发器对表A进行一些计算,以使用这些计算值填充表B. 由于崩溃表A在这里和那里填充了错误值,因此表B中的计算结果在这里和那里都不正确。

如何遍历所有行(在特定范围内)并让触发器重新计算值并在表B中覆盖它们。

表A每5分钟具有电表和燃气表的值。 大约有700个条目错误。

任何建议都是预设的,谢谢

1 个答案:

答案 0 :(得分:0)

触发内容是在表A更新后启动的:

BEGIN SELECT max(ElectraHighP1 + ElectraLowP1) - min(ElectraHighP1 + ElectraLowP1)FROM data_rr WHERE DATE(FROM_UNIXTIME(timestamp))= curdate()INTO @ VAR1; SELECT max(SolarHighP1 + SolarLowP1) - min(SolarHighP1 + SolarLowP1)FROM data_rr WHERE DATE(FROM_UNIXTIME(timestamp))= curdate()INTO @ VAR2; SELECT max(GasConsumedTotalP1) - min(GasConsumedTotalP1)FROM data_rr WHERE DATE(FROM_UNIXTIME(timestamp))= curdate()INTO @ var3; INSERT INTO DayDataElectraUsedTodaySolarDeliveryTodayGasConsumedToday)VALUES(@ var1,@ var2,@ var3); END

计算能量表的日值。