mysql 如何实现对树形数据的递归查询

让大家失望了,目前的答案似乎是:不能实现!

 

话说 mysql 都快到 6 了,早就号称支持存储过程了,可实际上呢!竟然不支持function中使用动态SQL 、更加不能返回数组或游标

这直接导致在其他数据库上轻松用存储过程实现的递归查询函数,在MYSQL上无法实现!(早在04年就可以在postgres数据库上实现树形递归相关函数了)

 

幸好有高人,大家对付着用用这个绕弯实现吧:

 

http://blog.sina.com.cn/s/blog_43ca06360100ibr6.html

 

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

 

----------

 

mysql 存储过程 function 有个大问题——不支持返回游标(或数组)!另外function里面还不能使用动态SQL!这两点,基本上把正常的function功能给废了!

另外没有split函数(这更加雪上加霜,导致连用function返回长字符串传递数组这种绕弯实现都成为不可能——返回了不能用函数套函数的方式分割成数组,不能直接写在WHERE里面,基本废了!)

我感觉MySQL始终就不是一个完整的数据库,真不明白为什么还这么流行???难道大家都是简单地把MySQL当平板文件+SQL引擎使用?
反之,几年前功能就已经堪比商业数据库的postgres在功能不断完善的同时,确远没有mysql流行!
(当年mysql3就不支持一些数据库的基本功能(事务、存储过程)、现在快到6了,号称全都支持了,不过明显功能缩水!相比另外一个免费开源数据库postgres明显是个半残)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值