CREATE PROCEDURE createChildLst (IN rootId INT,IN nDepth INT)
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE b INT;
DECLARE cur1 CURSOR FOR SELECT id FROM treeNodes where pid=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;我想让ndepth 大于十 后面记录就不查不来,也就是说深度我只查到10后面就不差了。 我用了 loop 死了2次机 好像是卡死机的。帮我解决下,thk
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE b INT;
DECLARE cur1 CURSOR FOR SELECT id FROM treeNodes where pid=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;我想让ndepth 大于十 后面记录就不查不来,也就是说深度我只查到10后面就不差了。 我用了 loop 死了2次机 好像是卡死机的。帮我解决下,thk
解决方案 »
- mysql如何按条件提取每小时最后一条数据?
- mysql数据库utf8简体中文如何转繁体
- mysql5有没有什么工具或者好的办法同步一个数据库到另一个数据库,两个数据库的结构有点差异
- 查询
- 这个删除语句怎么写.高手帮忙看下
- ADO+mySQL 连接,中文乱码
- 在VC中通过ODBC连MYSQL数据库时出现的问题,紧急求助!!
- 数据库存储大二进制文件的问题--倾家荡产了
- 如何实现查询的批处理?请高手指教!!!
- 各位大侠,MySQL的last_insert_id、mysql_insert_id ()等函数只能与PHP一起使用吗?如果我在MySQL-Front中应如何使用,急
- 过程的问题,列多了就出问题
- mysql插入最大值
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE b INT;
DECLARE cur1 CURSOR FOR SELECT id FROM treeNodes where pid=rootId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; insert into tmpLst values (null,rootId,nDepth); if nDepth<10 then
OPEN cur1;
FETCH cur1 INTO b;
WHILE done=0 DO
CALL createChildLst(b,nDepth+1);
FETCH cur1 INTO b;
END WHILE;
CLOSE cur1;
end if END;
call showChildLst(3);
他都报这个错 我set max_sp_recursion_depth=225; 就可以了
我都设了好几次了 每次都要这样吗?
Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine createChildLst
是!
或者直接在MYSQL的参数文件中定义,这样就不用每次写了。
可是购买的空间 不能给你设置mysql 参数啊