什么是递归存储过程,为什么 MySQL 会限制递归?

mysqlmysqli database

如果存储过程调用自身,则称为递归。基本上,这个概念称为递归。MySQL 限制递归,因此错误不会那么严格。我们可以借助以下查询来检查此限制 −

mysql> Show variables LIKE '%recur%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_sp_recursion_depth |   0   |
+------------------------+-------+
1 row in set (0.01 sec)

我们可以借助以下查询将此值更改为最高 255 −

mysql> SET @@GLOBAL.max_sp_recursion_depth = 255//
Query OK, 0 rows affected (0.00 sec)

mysql> Show variables LIKE '%recur%'//
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| max_sp_recursion_depth | 255   |
+------------------------+-------+
1 row in set (0.01 sec)

在编写程序时也可以扩展限制。


相关文章