MySQL用户定义函数:与SQL查询一起使用时返回错误的结果[duplicate]

MySQL User-Defined function Returns wrong result when used with SQL query [duplicate]

提问人:Hasanka Nayanjith 提问时间:10/28/2023 最后编辑:Hasanka Nayanjith 更新时间:10/28/2023 访问量:41

问:

我想查找特定信用卡用户的总账户余额。下面是查询

CREATE FUNCTION GetAccountBalance(UserID INT) 
RETURNS DECIMAL(10, 2)
BEGIN
    DECLARE totalBalance DECIMAL(10, 2);
    
    SELECT SUM(Balance) INTO totalBalance 
    FROM Accounts 
    WHERE UserID = UserID;
    
    RETURN totalBalance;
END//

但此函数返回所有用户的总余额,而不是该特定用户的总余额。我该如何解决这个问题?请帮帮我

该特定用户的总余额

sql mysql 计数 用户定义的函数

评论

0赞 juergen d 10/28/2023
看起来更像是返回特定用户的余额,而不是特定年份的余额。

答:

1赞 rodro 10/28/2023 #1

您的参数名称与字段名称相同

WHERE UserID = UserID;

总是真的,所以我猜这就是原因。 重命名函数的参数,然后重试。