[英]mysql error (#1064) stored procedure creation error
我正在尝试创建一个存储过程,但我不断出错:
#1064-您的SQL语法有误; 在第3行的“ NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT''B”附近检查与您的MySQL服务器版本相对应的手册以使用正确的语法
我的SQL如下:
DELIMITER $$
CREATE FUNCTION `prodcat_descendants` (idcat INTEGER(11) )
RETURNS VARCHAR
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
RETURN (select GROUP_CONCAT(DISTINCT id_category SEPARATOR ',') from cms_prodcategories where id_parent=idcat and active='1');
END$$
我尝试加入DELIMITER,但没有结果。 我想问题可能出在引号中。 有人可以指出解决方案吗? 谢谢!
MySQL 5.5版
您需要在过程的return语句上添加一个varchar长度,例如
RETURNS VARCHAR(1024)
所以程序变成
DELIMITER $$
CREATE FUNCTION `prodcat_descendants` (idcat INTEGER(11) )
RETURNS VARCHAR(1024)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
RETURN (select GROUP_CONCAT(DISTINCT id_category SEPARATOR ',') from cms_prodcategories where id_parent=idcat and active='1');
END; $$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.