[英]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.