MySql mariaDB CREATE FUNCTION DELIMITER 不起作用。在''附近有错误
MySql mariaDB CREATE FUNCTION DELIMITER doesnt work. has error near ''
我快疯了。我不知道这段代码有什么问题,我看不出有什么问题。但每次我将 $$ 放在“END”之后,它都会继续读取相同的错误。请大家帮忙...
这是我的代码
DELIMITER $$
CREATE FUNCTION fungsi1 (a int)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE nilaiasal INT;
DECLARE teks VARCHAR(50);
SET nilaiasal = a * a;
IF nilaiasal > 100 THEN
SET teks = 'LEBIH DARI SERATUS';
ELSEIF nilaiasal < 100 THEN
SET teks = 'KURANG DARI SERATUS';
INSERT INTO table1 (dataone,datatwo) VALUES(a,teks);
SELECT * FROM table1;
RETURN (nilaiasal);
END $$
DELIMITER ;
错误是这样的
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 15
请帮帮我。我查看了创建函数错误,没有人在 '' 附近遇到问题。
如果您想 return 结果集,您可能需要考虑使用存储过程而不是函数。
按照 Ergest Basha 的建议,您缺少 END IF;
,并且您正在尝试 return 来自不允许的函数的结果集。
我快疯了。我不知道这段代码有什么问题,我看不出有什么问题。但每次我将 $$ 放在“END”之后,它都会继续读取相同的错误。请大家帮忙... 这是我的代码
DELIMITER $$
CREATE FUNCTION fungsi1 (a int)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE nilaiasal INT;
DECLARE teks VARCHAR(50);
SET nilaiasal = a * a;
IF nilaiasal > 100 THEN
SET teks = 'LEBIH DARI SERATUS';
ELSEIF nilaiasal < 100 THEN
SET teks = 'KURANG DARI SERATUS';
INSERT INTO table1 (dataone,datatwo) VALUES(a,teks);
SELECT * FROM table1;
RETURN (nilaiasal);
END $$
DELIMITER ;
错误是这样的
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 15
请帮帮我。我查看了创建函数错误,没有人在 '' 附近遇到问题。
如果您想 return 结果集,您可能需要考虑使用存储过程而不是函数。
按照 Ergest Basha 的建议,您缺少 END IF;
,并且您正在尝试 return 来自不允许的函数的结果集。