Oracle递归实现树型结构两种方法
来源:互联网 发布:数据库一致性问题 编辑:程序博客网 时间:2024/05/23 10:50
oracle的树形结构sql一直很强大,
我想知道如何实现下面功能
比如:
id name parent_id
01 a 00
02 b 00
03 aa 01
04 bb 02
05 aaa 03
格式化的树形结构是:
a
aa
aaa
b
bb
这个效果用oracle的sql很容易实现;
我想得到这样的效果,就是只显示叶子节点的记录,其父节点用符号隔开;
也就是:
a/aa/aaa
b/ bb
根据该提示,我做了个例子:
代码:
SELECT --显示 格式化树形结构;
LPAD(' ',2*(level-1))||a.FORMCLASSNAME AS FORMCLASSNAME,
CONNECT_BY_ISLEAF as isleaf
FROM OKFORM a
where FORM_TYPE<>'0' start with PARENT='-1'
CONNECT BY PRIOR FORMCLASSNAME=PARENT
order siblings by form_order;
SELECT * FROM ( --仅显示叶子节点,不过要显示层次
select FORMCLASSNAME, SUBSTR( sys_connect_by_path(FORMCLASSNAME,'/'),2) AS X,
CONNECT_BY_ISLEAF as isleaf FROM OKFORM A
start with PARENT='-1'
CONNECT BY PRIOR FORMCLASSNAME=PARENT
order siblings by form_order ) A
WHERE ISLEAF=1
- Oracle递归实现树型结构两种方法
- 二分查找(递归与非递归两种方法实现)
- 实现树状结构的两种方法
- 实现树状结构的两种方法
- 算法学习-二叉树节点和两种实现方法,递归非递归
- 在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现方法
- 两两组合算法-递归实现方法
- dropdownlist实现树型结构的栏目信息的两种方法
- 递归实现遍历文件夹的两种方法
- 二叉树先序遍历非递归方法的两种实现
- 递归实现前n项和(两种方法)
- 面试题:单链表逆置(分别用非递归和递归两种方法实现)
- 两种方法(递归,非递归)实现单链表的逆转
- 使用递归和非递归两种方法实现二分查找!!!
- php实现数据树形结构 递归方法
- 递归算法 实现树结构
- Oracle中spool命令实现的两种方法比较
- Oracle中spool命令实现的两种方法比较
- Duplicate entry for key 1的解决方法
- GPGPU入门第一步
- Tailrank 网站架构
- NORMAL TABLES(范式)
- linux中select()函数分析
- Oracle递归实现树型结构两种方法
- Windows Mobile 中的键盘钩子实战
- 面向用户的网站性能优化
- 关于html中对象的坐标 散记
- 杂记
- netscreen debug
- Flex中关于dynamic关键字的用法
- 多线程并发带参数
- GWT-Ext -> FormPanel中的中文乱码解决方法