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

解決策は、別の区切り文字が必要であり、削除するという組み合わせでした。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 ;

ありがとう!

于 2015-02-20T17:04:06.973 に答える
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 に答える