读书人

非专业处置:Oracle-gt;MySQL的Connect

发布时间: 2012-09-28 00:03:35 作者: rapoo

非专业处理:Oracle->MySQL的Connect by迁移
这两天在弄一个系统迁移,以适应小平台的要求。数据库要从Oracle移植到Mysql。
比较了种种,包括数据类型、主键自增/序列、字符串函数之后,就剩下一个“层次递推查询”最难办。

具体是这样的:
Oracle的connect by语句能够很好的支持:
1、只根据id和parentId两个字段,便可以查找一个结点的所有子孙结点
2、只根据Id和parentId连个字段,便可以查找一个结点的根(表是一个森林,非树)

MYSQL对等的语句处理这样的功能。

示例的表结构(MySQL):

mysql> call selectNodePosterity(2);+----+----------+-------+-------+| id | parentId | name  | path  |+----+----------+-------+-------+|  2 |        1 | two   | 2     ||  4 |        2 | four  | 2/4   ||  8 |        4 | eight | 2/4/8 ||  5 |        2 | five  | 2/5   |+----+----------+-------+-------+4 rows in set (0.00 sec)Query OK, 0 rows affected, 2 warnings (0.02 sec)




读书人网 >Mysql

热点推荐