1.1.1 现象
执行一个存储过程,出现如下错误:
请更正下列输入错误:
CDbCommand 无法执行 SQL 语句: SQLSTATE[HY000]: General error: 1456 Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine sp_rebuild_booktype. The SQL statement executed was: call sp_rebuild_booktype (:parentid)
1.1.2 原因
因为存储过程递归调用了,但是没有设置递归层次,所以导致出现这个错误。
1.1.3 解决
在存储过程中增加如下代码:
SET @@max_sp_recursion_depth = 10; |
或者在MYSQL中执行如下命令设置全局变量:
SET global max_sp_recursion_depth = 10; |
或者在MY.INI中增加如下参数:
max_sp_recursion_depth = 10 |
本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/1775925,如需转载请自行联系原作者