递归存储过程是什么?以及 MySQL 为什么限制递归?


如果一个存储过程调用它自身,则该存储过程被称为递归。从本质上说,此概念称为递归。对于以下查询,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)

在编写过程中也可以扩展限制。

更新于:2020 年 6 月 22 日

1000+ 次浏览

开始你的 职业

完成课程以获得认证

开始
广告