我正在使用触发器对表A进行一些计算,以使用这些计算值填充表B. 由于崩溃表A在这里和那里填充了错误值,因此表B中的计算结果在这里和那里都不正确。
如何遍历所有行(在特定范围内)并让触发器重新计算值并在表B中覆盖它们。
表A每5分钟具有电表和燃气表的值。 大约有700个条目错误。任何建议都是预设的,谢谢
答案 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 DayData
(ElectraUsedToday
,SolarDeliveryToday
,GasConsumedToday
)VALUES(@ var1,@ var2,@ var3);
END
计算能量表的日值。