ORACLE不常用但实用的技巧- 树查询 level用法
来源:互联网 发布:描写恋人相遇的数据 编辑:程序博客网 时间:2024/05/19 13:43
树查询
使用树查询的前提条件是: 在一条记录中记录了当前节点的ID和这个节点的父ID。
注意:一旦数据中出现了循环记录,如两个节点互为对方的父结点,系统就会报
第一步:创建表
create table MENU( MENU_ID NUMBER not null, PARENT_ID NUMBER, MENU_NAME NVARCHAR2(20));
第二步:插入数据
insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (1, null,'AAAA');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (2, 1, 'BBBB');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (3, 1, 'CCCC');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (4, 1, 'DDDD');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (5, 2, 'EEEE');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (6, 2, 'FFFF');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (7, 2, 'GGGG');insert into MENU (MENU_ID, PARENT_ID, MENU_NAME) values (8, 3, 'HHHH');commit;
第三步:查询
select menu_id,rpad(' ',(level-1)*4)||menu_name from menuconnect by parent_id = prior menu_idstart with parent_id is null
显示出树的级别查询
select menu_id,rpad(' ',(level-1)*4)||menu_name,level from menu connect by parent_id = prior menu_id start with parent_id is null;
也可以这样写:
select role_id,parent_grade_id,level from audit_role where level > 1 connect by prior role_id = parent_grade_id start with role_id=1 order by level;
0 0
- ORACLE不常用但实用的技巧- 树查询 level用法
- 实用但不常用的linux命令行
- 十条Oracle不常用但很实用的SQL语句总结
- 一些不常用但很实用的sql
- linux不常用但非常实用的命令
- php 不常用但很好用的用法
- oracle 几个有用但不常用的函数
- 正则中不常用却很实用的技巧
- 实用但不花哨的js 代码。。。。
- QlikView 笔记(三) 那些不常用但一定要会的技巧和方法
- [level select]Oracle 树查询(递归查询)
- sql语句中不常用但很有用的小用法
- sql语句中不常用但很有用的小用法
- sql语句中不常用但很有用的小用法
- 10021---MySQL和Oracle常用的一些查询技巧
- 少见但绝对实用的CodeSmith使用技巧
- photoshop简单但却实用的小技巧
- Eclipse快捷键 --重要但不常用的
- Matlab 读取文件夹里所有的文件
- 字符串匹配sunday算法
- cmd常用命令大全
- sed找到关键字所在行并将其前面的第一个字符删除
- Sql server增加列
- ORACLE不常用但实用的技巧- 树查询 level用法
- 【总结】Xcode快捷键
- 进阶篇:以IL为剑,直指async/await
- Lucene 根据数据库创建索引关键代码
- android天气软件开发随笔(一)——城市列表返回
- PHP如何将表单提交给自己
- Image与stdole.IPictureDisp 互转
- jQuery新手知识总汇
- Eclipse代码生成技术