Не могу получить этот MySQL UDF для создания
Когда я пытаюсь создать эту функцию, я получаю различные коды ошибок, последняя из которых: "1064 - у вас есть ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему версии вашего сервера MariaDB, для правильного использования синтаксиса". рядом со строкой 2 "
CREATE FUNCTION DebtOwed(SearchEmail Varchar(70))
RETURNS FLOAT(10,2);
BEGIN
DECLARE Total Float(10,2);
SELECT Sum(Amount) INTO Total
FROM tblFinances
WHERE email=SearchEmail AND Paid=False ;
RETURN Total;
END;
Любые подсказки относительно того, что я делаю неправильно?
2 ответа
Решение
Вам нужно установить другой разделитель во время определения вашей функции.
Так что-то вроде этого:
DELIMITER $$
CREATE FUNCTION DebtOwed(SearchEmail Varchar(70))
RETURNS FLOAT(10,2)
BEGIN
DECLARE Total Float(10,2);
SELECT Sum(Amount) INTO Total
FROM tblFinances
WHERE email=SearchEmail AND Paid=False ;
RETURN Total;
END$$
DELIMITER ;
Решение было комбинацией необходимости другого разделителя и удаления; после ВОЗВРАЩЕНИЯ ПЛАВАНИЯ (10,2)
DELIMITER $$
CREATE FUNCTION DebtOwed(SearchEmail Varchar(70))
RETURNS FLOAT(10,2)
BEGIN
DECLARE Total Float(10,2);
SELECT Sum(Amount) INTO Total
FROM tblFinances
WHERE email=SearchEmail AND Paid=False ;
RETURN Total;
END$$
DELIMITER ;
Спасибо!