首页 相关文章 Oracle 10G - 增强的CONNECT BY子句

Oracle 10G - 增强的CONNECT BY子句

为 了更好的查询一个树状结构的表,在Oracle的PL/SQL中提供乐一个诱人的特性——CONNECT BY子句。它大大的方便了我们查找树状表:遍历一棵树、寻找某个分支......,但还是存在一些不足。在Oracle 10G,就对这个特性做了增强。下面就举例说明一下。

CONNECT_BY_ISCYCLE

树状一般都是在一条记录中记录一个当前节点的ID和这个节点的父ID来实现。但是,一旦数据中出现了循环记录,如两个节点互为对方父节点,系统就会报ORA-01436错误,例如:

如果有这样的数据

insert into t_tonedirlib(dirindex, fatherindex, dirname, status) values (666, 667, '123', 5);insert into t_tonedirlib(dirindex, fatherindex, dirname, status) values (667, 666, '456', 5);

执行这样的查询

select dirindex, fatherindex, RPAD(' ', 2...[ 查看全文 ]

2016-02-19 标签:

Oracle 10G - 增强的CONNECT BY子句的相关文章

手机页面
收藏网站 回到头部