无法创建此 MySQL UDF
Can't get this MySQL UDF to Create
我在尝试创建此函数时收到各种错误代码,最近一次是:“1064 - 您的 SQL 语法有错误;请查看与您的函数相对应的手册在第 2 行“
附近使用正确语法的 MariaDB 服务器版本
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 $$
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 ;
解决方案是需要一个不同的分隔符并删除 ;在 RETURNS FLOAT(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 ;
谢谢!
我在尝试创建此函数时收到各种错误代码,最近一次是:“1064 - 您的 SQL 语法有错误;请查看与您的函数相对应的手册在第 2 行“
附近使用正确语法的 MariaDB 服务器版本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 $$
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 ;
解决方案是需要一个不同的分隔符并删除 ;在 RETURNS FLOAT(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 ;
谢谢!