MariaDB создать функцию или процедуру - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь создать функцию в MariaDB, но я застреваю и не вижу решения.

Я попытаюсь создать функцию для моей LAG.

следующее, что мне нравитсясделать как функцию:

Select 
    lag(
        round(round(`bartbrf269_IOT`.`IOT_DATA`.`DATA_temp1` * 2, 0) / 2, 1)
        , 1
    ) over (
        partition by `bartbrf269_IOT`.`IOT_DATA`.`DATA_sensorid`
    order by
        `bartbrf269_IOT`.`IOT_DATA`.`DATA_logid`
    )

я хочу сделать DATA_temp1 и 1 в качестве переменных

я был запущен из этих

DELIMITER $$
CREATE FUNCTION ftcnLag(
    value DECIMAL(10,4)
) 
RETURNS DECIMAL(10,4)
DETERMINISTIC
BEGIN 
DECLARE value = varchar(50);
DECLARE pos = int;

END
select
    lag(
        round(round(`bartbrf269_IOT`.`IOT_DATA`.`DATA_temp1` * 2, 0) / 2, 1)
        , 1
    ) over (
        partition by `bartbrf269_IOT`.`IOT_DATA`.`DATA_sensorid`
    order by
        `bartbrf269_IOT`.`IOT_DATA`.`DATA_logid`
    ) AS `prevtemp1`
    from
    `bartbrf269_IOT`.`IOT_DATA`
order by
    `bartbrf269_IOT`.`IOT_DATA`.`DATA_logid` desc;
END$$
DELIMITER ;

я не могузаставить это работать.Спасибо за помощь и мои извинения за плохой английский

...