Процедура отклонения MySQL

#mysql

Вопрос:

Я пытаюсь создать процедуру mysql, которая должна проверять температуру и влажность с предыдущего дня до и проверять, находится ли она за пределами установленных границ или нестабильна.

У меня есть таблица, в которой указаны границы для sensor4.

[temp_upper-20, temp_lower-16.] [hum_upper 55, hum_lower 40]

МАКСИМАЛЬНАЯ(температура) со вчерашнего дня составляла 19,51,

МИН(температура) со вчерашнего дня была 19.05.

Что означает, что это внутри и стабильно.

МАКС(гул) = 40,629, МИН(гул) = 37,765.

Это означает, что он был за пределами границ и нестабилен, поэтому эту процедуру следует выполнить и вставить ее в «Avvikstabell».

Но после выполнения кода значение avvik равно НУЛЮ? Это было лучшее, что я мог сформулировать в своем вопросе.

Хотел бы получить некоторую профессиональную помощь в MySQL.

Вот мой код:

 BEGIN
    DECLARE
        temp_upper DECIMAL DEFAULT 0; DECLARE temp_lower DECIMAL DEFAULT 0; DECLARE hum_upper DECIMAL DEFAULT 0; DECLARE hum_lower DECIMAL DEFAULT 0; DECLARE max_temp DECIMAL DEFAULT 0; DECLARE min_temp DECIMAL DEFAULT 0; DECLARE max_hum DECIMAL DEFAULT 0; DECLARE min_hum DECIMAL DEFAULT 0;
    SELECT
        temp_upper_limit AS temp_upper,
        temp_lower_limit AS temp_lower,
        humid_upper_limit AS hum_upper,
        humid_lower_limit AS hum_lower,
        alias
    FROM
        sensor_settings
    WHERE
        alias = "Stella Maris";
    SELECT
        MAX(temp) AS max_temp,
        MIN(temp) AS min_temp,
        MAX(hum) AS max_hum,
        MIN(hum) AS min_hum
    FROM
        sensor4
    WHERE
        tidsangivelse >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY); IF max_temp > temp_upper OR min_temp < temp_lower OR max_hum > hum_upper OR min_hum < hum_lower THEN
    SET
        avik = "ekstern";
    INSERT INTO klima.avvikstabell(sensor, dato, TYPE)
VALUES(
    "sensor4",
    CURDATE() - INTERVAL 1 DAY, avik); ELSEIF max_temp - min_temp > 2 OR max_hum - min_hum > 2 THEN
SET
    avik = "intern";
INSERT INTO klima.avvikstabell(sensor, dato, TYPE)
VALUES(
    "sensor4",
    CURDATE() - INTERVAL 1 DAY, avik);
END IF;
END