我收到试图在MySQL 5.1中创建一个功能时,出现以下错误:mySQL用户定义函数中set命令的正确语法是什么?
Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 25 (0 ms taken)
这里是我的代码:
DELIMITER $$
CREATE
FUNCTION removeMethodAndBackslash(input VARCHAR(40))
RETURNS VARCHAR(20)
BEGIN
DECLARE loginName VARCHAR(40);
SET loginName = input;
IF SUBSTRING(loginName,7) LIKE '\b%' THEN
SET loginName = 'b' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\n%' THEN
SET loginName = 'n' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\t%' THEN
SET loginName = 't' + SUBSTRING(input,8);
ELSE IF SUBSTRING(loginName,7) LIKE '\r%' THEN
SET loginName = 'r' + SUBSTRING(input,8);
ELSE
SET loginName = SUBSTRING(input,7);
RETURN loginName;
END $$
DELIMITER ;
我一直在玩的语法为而我确信它是我忽略的一个非常小的细节。任何帮助将不胜感激。
由于满级...我是新来的堆栈溢出,我无法弄清楚如何阻止整个码。 – 2011-04-05 13:40:49
为了澄清,我相信这个错误与set语句有关。但不知道。 – 2011-04-05 13:42:49
别担心。你可以看看这里:http://stackoverflow.com/editing-help进行降价编辑。 – manji 2011-04-05 13:42:51