本帖最后由 spiral 于 2013-6-6 15:17 编辑
通过沟通,楼主是在参考以下链接内容的时候遇到问题:
http://blog.csdn.net/ACMAIN_CHM/article/details/4142971- DELIMITER $
- DROP PROCEDURE IF EXISTS `panku_qp`.`createChildLst`$
- CREATE DEFINER=`root`@`localhost` PROCEDURE `createChildLst`(IN rootId INT,IN nDepth INT)
- BEGIN
- DECLARE done INT DEFAULT 0;
- DECLARE b INT;
- DECLARE cur1 CURSOR FOR SELECT item_本级分类 FROM tlk_md商品信息 where item_上级分类=rootId;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
- insert into tmpLst values (null,rootId,nDepth);
- OPEN cur1;
- FETCH cur1 INTO b;
- WHILE done=0 DO
- CALL createChildLst(b,nDepth+1);
- FETCH cur1 INTO b;
- END WHILE;
- CLOSE cur1;
- END$
- DELIMITER ;
- 存储过程。
- DELIMITER $
- DROP PROCEDURE IF EXISTS `panku_qp`.`showChildLst`$
- CREATE PROCEDURE `panku_qp`.`showChildLst`(IN rootId INT)
- /*LANGUAGE SQL
- | [NOT] DETERMINISTIC
- | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
- | SQL SECURITY { DEFINER | INVOKER }
- | COMMENT 'string'*/
- BEGIN
- CREATE TEMPORARY TABLE IF NOT EXISTS tmpLst (sno int primary key auto_increment,item_上级分类 int,depth int);
- DELETE FROM tmpLst;
- CALL createChildLst(rootId,0);
- select tmpLst.*,tlk_md商品信息.* from tmpLst,tlk_md商品信息 where tmpLst.item_本级分类=tlk_md商品信息.item_本级分类 order by tmpLst.sno;
- END$
- DELIMITER ;
复制代码 无法实现递归 |