我写了一个存储函数,它递归地调用自己。MySQL不支持递归函数?为什么?从何时起?
然而,当我在查询运行它,我得到这个无耻的错误:
Error: 1424 SQLSTATE: HY000 (ER_SP_NO_RECURSION)
Message: Recursive stored functions and triggers are not allowed.
“不允许”?
没错。为什么我们不只是禁用WHILE循环,而我们还在?
我可以以任何方式启用递归函数吗?
我找到bug report,但是有没有解决方法?
我在Windows XP(XAMPP服务器)上运行MySQL 5.1.41。
数据库用于检索数据,而不是用于编程。您是否有理由试图在存储过程中而不是在应用程序中执行复杂的,难以预测或优化的逻辑? – Borealid 2010-08-21 06:00:03
http://stackoverflow.com/questions/3438111/mysql-stored-procedure-that-calles-itself-recursively – Novemberland 2010-08-21 06:05:22
无耻的错误!有一种方法可以启用递归函数;你必须修改MySQL代码才能使它们工作。 – 2010-08-21 06:36:43