我尝试了各种版本,但是在创建这样的用户定义函数时却收到了相同的错误消息
CREATE FUNCTION avg_month(shop INT) RETURNS DECIMAL
BEGIN
DECLARE
avg_m_sales DECIMAL;
SET
avg_m_sales = 1000;
RETURN avg_m_sales;
END;
错误消息是:
错误 SQL查询:
CREATE FUNCTION avg_month(shop INT) RETURNS DECIMAL
BEGIN
DECLARE
avg_m_sales DECIMAL
MySQL说:文档
1064 -您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第4行的''附近使用
答案 0 :(得分:1)
默认值以外的分隔符;通常在定义函数,存储过程和触发器(其中必须定义多个语句)时使用。
尝试按以下方式创建。 “ testdb”是您的数据库名称。
DELIMITER $$
CREATE
FUNCTION `testdb`.`avg_month`(shop INT)
RETURNS DECIMAL
BEGIN
DECLARE
avg_m_sales DECIMAL;
SET
avg_m_sales = 1000;
RETURN avg_m_sales;
END$$
DELIMITER ;