代码是:
DELIMITER $$
CREATE FUNCTION CHECK_AVABILITY(nama CHAR(30))
RETURNS INT(4)
DECLARE vreturn INT(4);
BEGIN
IF nama = 'ika' THEN
SET vreturn = 0;
ELSE
SET vreturn = 1;
END IF
RETURN vreturn;
END $$
错误消息是:
错误1064(42000):您的sql语法中有错误;请查看对应于MySQL服务器版本的手册,以获取在“DECLARE vreturn INT4”附近使用的正确语法;BEGIN”
感谢您的帮助。
最佳答案
将DECLARE vreturn INT(4)
移到BEGIN / END
块内。您可能还需要在;
之后加上END IF
。
此外,这看起来像是一个DETERMINISTIC
函数。在DETERMINISTIC
之前添加BEGIN
关键字。
DELIMITER $$
CREATE FUNCTION CHECK_AVABILITY(nama CHAR(30))
RETURNS INT(4)
DETERMINISTIC
BEGIN
DECLARE vreturn INT(4);
IF nama = 'ika' THEN
SET vreturn = 0;
ELSE
SET vreturn = 1;
END IF;
RETURN vreturn;
END $$
关于mysql - 为什么此函数在DECLARE附近出现语法错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7129121/