Computer >> Máy Tính >  >> Lập trình >> MySQL

Thủ tục lưu trữ đệ quy là gì và tại sao MySQL lại giới hạn đệ quy?


Một thủ tục được lưu trữ được gọi là đệ quy nếu nó gọi chính nó. Về cơ bản, khái niệm này được gọi là đệ quy. MySQL giới hạn đệ quy nên các lỗi sẽ ít nghiêm ngặt hơn. Chúng tôi có thể kiểm tra giới hạn này với sự trợ giúp của truy vấn sau -

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

Chúng tôi có thể thay đổi giá trị này lên tới 255 với sự trợ giúp của truy vấn sau -

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)

Giới hạn cũng có thể được mở rộng trong khi viết thủ tục.