存储过程中递归是什么?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)

同时在编写该过程时也可以扩大限制。

更新于: 22-6 月 2020

超过 1k 的浏览量

开启您的 职业生涯

完成课程可获得证书

开始
广告
© . All rights reserved.