首页 > 解决方案 > MySQL 函数未编译为 true

问题描述

我尝试创建这个简单的函数,但出现以下错误消息;

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 '(customerLevel); 附近使用的正确语法;END' 在第 17 行

这是代码:

DELIMITER $$
CREATE FUNCTION GetCustomerLevel(CustomerID INT) 
RETURNS VARCHAR(20)
DETERMINISTIC
BEGIN
DECLARE credit DECIMAL(10,2) DEFAULT 0;
DECLARE customerLevel VARCHAR(20);
    SELECT SUM(total_price) 
    INTO credit
    FROM sales s,customer c
    WHERE c.customer_id= CustomerID And s.customer_id=c.customer_id ;

    IF credit > 1400 THEN
        SET customerLevel = 'PLATINUM';
    ELSE
        SET customerLevel = 'NOT PLATINUM';
    END IF;
    RETURN (customerLevel);
END$$

DELIMITER ;

标签: mysql

解决方案


我只是关闭 MySQL 服务器并重新启动它,代码运行没有任何错误!谢谢大家:)


推荐阅读