创建函数时出现SQL语法错误

时间:2015-10-14 09:01:01

标签: mysql

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)

1 个答案:

答案 0 :(得分:0)

我会更改current_time参数的名称,因为有一个current_time()函数,如果代码引用参数或函数,mysql可能无法区分代码中的某些位置。