mysql - 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 服务器并重新启动它,代码运行没有任何错误!谢谢大家:)
推荐阅读
- python - 进程完成,退出代码 -1073740791 (0xC0000409) 错误未打开网站
- sequence - 如何找到序列的最大值(尤其是hana序列)
- php - Lumen Jwt 身份验证获取(参数 2 传递给 Tymon\JWTAuth\JWTGuard)错误
- python - Pandas - 检查重复项
- swift - @State 私有变量是不可变的
- javascript - Intl.NumberFormat 格式美分转换为正确格式
- groovy - 将 LocalDateTime 转换为 unix 时间格式 - groovy.lang.MissingMethodException
- c++ - C ++中静态分配与动态分配的数组
- apache-kafka - 使用 MassTransit 的不可预测的 Kafka 偏移行为
- python - 如何使用networkx读取json图?