0
我這樣做是爲了在溫度高於或低於參數設置報警時觸發。即自動填充表格警報的字段。從另一個表中插入值的觸發器 - Mysql
現在我在表格報警中創建了一個新行,idRegisto是外鍵,現在我要根據idRegisto對應的表完成該id。
有人可以幫我嗎?
如果你不理解這個問題,我會試着進一步澄清。
謝謝。
------------ TRIGGER -------------------
DELIMITER $$
create TRIGGER alerta
BEFORE INSERT ON registos
FOR EACH ROW
begin
Set @tempmax=0;
Set @tempmin=0;
Set @hummax=0;
select lim_inf_temp, lim_sup_temp into @tempmin, @tempmax from sensores where idSensor=NEW.idSensor;
Set @maxidAlarme=0;
if (CAST(NEW.Temperatura AS UNSIGNED)<@tempmin) then
SELECT MAX(idAlarme) into @maxidAlarme FROM alarmes;
SET @[email protected]+1;
INSERT INTO alarmes(idAlarme,descricao_alarme) VALUES (@maxidAlarme,"high-temperature");
INSERT INTO sensores_tem_alarmes(idSensor,idAlarme,dataAlarme) VALUES (NEW.idSensor,@maxidAlarme,NOW());
end if;
if (CAST(NEW.Temperatura AS UNSIGNED)>@tempmax) then
SELECT MAX(idAlarme) into @maxidAlarme FROM alarmes;
SET @[email protected]+1;
INSERT INTO alarmes(idAlarme,descricao_alarme) VALUES (@maxidAlarme,"lower temperature");
INSERT INTO sensores_tem_alarmes(idSensor,idAlarme,dataAlarme) VALUES (NEW.idSensor,@maxidAlarme,NOW());
end if;
DELIMITER ;
------- ----- ER ------------------------
謝謝fpr回覆。你能以最實際的方式解釋嗎? – user3320956
感謝您的幫助。完美的作品:) – user3320956