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; //
我正在尝试创建此功能,我逐行进行但我找不到错误。
我得到的错误是1064(42000)
答案 0 :(得分:0)
我会更改current_time参数的名称,因为有一个current_time()函数,如果代码引用参数或函数,mysql可能无法区分代码中的某些位置。