DELIMITER //
CREATE FUNCTION NodeState (current_time DATETIME, lastcheck DATETIME, polling_time INT)
RETURNS varchar(20)
BEGIN
DECLARE node_state VARCHAR(20) DEFAULT grey;
DECLARE time_gap DATETIME;
SET time_gap = TIMESTAMPDIFF(SECOND, current_time, lastcheck);
SET perc = polling_time*0.05;
if time_gap > perc then
SET node_state = 'red';
ELSEif time_gap = perc then
SET node_state = 'orange';
ELSEif time_gap – lastcheck < perc then
SET node_state = 'green';
END IF;
RETURN node_state;
END; //
Я пытаюсь создать эту функцию, и я пошел по строкам, но я не могу найти ошибку.Ошибка синтаксиса SQL при создании функции
Ошибки я получаю 1064 (42000)
Что такое сообщение об ошибке, если вы получаете синтаксическую ошибку? – Jens
DEFAULT серый -> 'серый'? – Pieter21