【发布时间】:2015-12-03 11:12:08
【问题描述】:
执行下面提到的脚本时出现错误
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 靠近'$$
DROP PROCEDURE IF EXISTS `GetTopParentGivenDepth`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetTopParentGivenDepth`(GivenDepth INT)
BEGIN
DECLARE X,Y,x1,x2 INT;
SET X = 0;
SET Y = 1;
SET @SQ = 'SELECT DISTINCT A0.id FROM categories A0';
WHILE Y < GivenDepth DO
SET @SQ = CONCAT(@SQ,' INNER JOIN categories A',Y,' ON A',X,'.id = A',Y,'.parent_id');
SET X = Y;
SET Y = X + 1;
END WHILE;
SET @SQ = CONCAT(@SQ,' WHERE A0.parent_id = 0');
SELECT @SQ;
PREPARE stmt FROM @SQ;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
【问题讨论】:
标签: mysql database stored-procedures