0

当我尝试创建此函数时,我收到了各种错误代码,最近的一个是:“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;

关于我做错了什么的任何线索?

4

2 回答 2

0

您需要在函数定义期间设置不同的分隔符。

所以是这样的:

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 ;
于 2015-02-20T16:47:45.700 回答
0

解决方案是需要不同的分隔符和删除的组合;返回后浮动(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 ;

谢谢!

于 2015-02-20T17:04:06.973 回答