在mysql里可以好好运行我的递归型存储过程
并设置了SET max_sp_recursion_depth=12;
这个可以拿到我想要的返回结果,是没有问题的。
但是在php里调用就报错了。
$result = mysql_query("CALL showChildDept(128)") or die("Query failed:" .mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
print_r($row);
}
Query failed:Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine
请问这是什么原因呢?谢谢
CREATEDEFINER=root
@%
PROCEDUREcreateChildDept
(INrootIdINT,INnDepthINT)
BEGIN
DECLAREdoneINTDEFAULT0;
DECLAREbINT;
DECLAREcur1CURSORFORSELECTidFROMzk_departmentsWHEREparent_id=rootId;
DECLARECONTINUEHANDLERFORNOTFOUNDSETdone=1;
INSERTINTOtmpLstVALUES(NULL,rootId,nDepth);
OPENcur1;
FETCHcur1INTOb;
WHILEdone=0DO
CALLcreateChildDept(b,nDepth+1);
FETCHcur1INTOb;
ENDWHILE;
CLOSEcur1;
END$$
DELIMITER;
请问这里有没有问题呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。