Mysql cho phép tối đa 255 lần đệ quy trong một PROCEDURE nếu bạn đặt max_sp_recursion_depth.
Rủi ro của nó vì có khả năng độ sâu đệ quy cần thiết có thể vượt quá 255 đôi khi trong tương lai.
Vì vậy, tốt hơn hết bạn nên thay thế hàm của mình bằng một thủ tục, sử dụng INOUT biến cho return_result.