MySqlで関数をまとめています。主要なものは何もありません。しかし、それは保存しません。私はHeidiSqlを使ってこれをやっています。
CREATE DEFINER=`root`@`localhost` FUNCTION `mainLinks`(`nid` INT)
RETURNS varchar(1500)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE aid INT;
DECLARE atype INT;
DECLARE aparent INT;
DECLARE ausername VARCHAR(32);
DECLARE auserid INT;
DECLARE aCOUNTRY VARCHAR(2);
DECLARE aOutput VARCHAR(1500);
SELECT id, type, parent, userName, userId, country
INTO aid, atype, aparent, auserName, auserId, acountry
FROM arraytest
WHERE id = nid;
CASE atype
WHEN 1 THEN SET aOutput = 'One';
WHEN 2 THEN SET aOutput = 'Two';
WHEN 3 THEN SET aOutput = 'Three';
ELSE 'Neither';
END;
RETURN (aOutput);
END
それcase
がすべての問題の原因であり、私はすべてを試しました。移動と削除;
。しかし、それを機能させるものは何もありません。
エラーは次のとおりです。
`/* SQL Error (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 ''Neither';
END;
RETURN (aOutput);
END' at line 26 */`
この関数には 26 行目はありません。助けていただけますか?
データやその他のものを含むテーブル Fiddle