关于oracle 递归生成,关于Oracle递归查询
有这样一个表:DEPT
ID ID
PARENT_ID 父部门ID,顶级部门的父部门为null
DEPT_NAME 部门名称
如果要从顶级部门开始递归所有部门:
select level,a.* from DEPT a start with a.PARENT_ID is null
connect by prior a.ID=a.PARENT_ID
level:层次
start_with:入口部门
prior:前序遍历
ID=PARENT_ID:从入口部门开始往下递归
PARENT_ID=ID:从入口部门开始往上递归
了解了上述规则,则不难写出从某部门开始的所有下级部门:
select level,a.* from DEPT a start with a.ID = 3
connect by prior a.ID=a.PARENT_ID
从某部门开始的上级部门:
select level,a.* from DEPT a start with a.ID = 3
connect by prior a.PARENT_ID = a.ID
如果要在以上结果中进行排除,如排除当前部门,即某部门的上级部门(注意where筛选在递归结果之后进行):
select level,a.* from DEPT a
where a.ID != 3
start with a.ID = 3
connect by prior a.PARENT_ID = a.ID
如果还想按层级显示部门名称,如:
ID NEW_DEPT_NAME DEPT_NAME
3 部门A/部门A-1/部门A-1-1 部门A-1-1
可以使用如下语句:
select level,
ltrim(sys_connect_by_path(a.DEPT_NAME,'',''),'','') NEW_DEPT_NAME,
a.*
from DEPT a
start with a.ID = 3
connect by prior a.ID=a.PARENT_ID
关于oracle 递归生成,关于Oracle递归查询相关推荐
- oracle 随机生成数字,Oracle生成随机码
本人网站交友乐www.jyoule.com 需要经常生成随机的活动码,用于制作卡片密码或通过网络发送.活动码的生成规则是采用唯一的字符串开头后面是随机数字,比如AZ00001.使用oracle产生活动 ...
- oracle能否生成mdb,oracle怎么导入.mdb文件
匿名用户 1级 2015-12-09 回答 导出 导出具体的分为:导出表,导出方案,导出数据库三种方式. 导出使用exp命令来完成的,该命令常用的选项有: userid: 用于指定执行导出操作的用 ...
- oracle批量生成索引,ORACLE迁移时批量导出索引、存储过程,表结构等
[toc] ORACLE迁移中的一些经验(一)批量导出sequence 批量导出squence 在网上找到这样一条语句: select 'create sequence ' || sequence_n ...
- 如何快速在oracle内生成数据,[Oracle]快速生成大量模拟数据的方法
快速生成大量模拟数据的方法: create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, ...
- oracle快速生成序列号,Oracle实现自定义序列号生成
实际工作中,难免会遇到序列号生成问题,下面就是一个简单的序列号生成函数 (1)创建自定义序列号配置表如下: --自定义序列 create table S_AUTOCODE ( pk1 ...
- oracle怎么生成osf,Oracle技术之Linux 建立软raid
1.Raid定义 RAID,全称Redundant Array of Inexpensive Disks,中文名为廉价磁盘冗余阵列.RAID可分为软RAID和硬RAID,软RAID是通过软件实现多块硬 ...
- Oracle 递归案例
Oracle 递归案例 Oracle 递归案例 前提准备 递归查询某个部门(ROOT)的所有子级部门 递归查询某个部门(A)的所有子级部门 递归查询某个部门(B02)的所有上级部门 递归查询某个部门( ...
- oracle用一个字段往上递归,深入sql oracle递归查询
获取数据库所有表名,表的所有列名 select name from sysobjects where xtype='u' select name from syscolumns where id=(s ...
- oracle 11g circuits 参数,递归:在 Oracle Database 11g 第 2 版中查询层次结构数据
开发人员:SQL 递归: 在 Oracle Database 11g 第 2 版中查询层次结构数据的快速入门 作者:Tim Hartley 2010 年 2 月发表 递归数据库处理,也称为材料清单 或 ...
最新文章
- ConfigUtil读取配置文件
- android studio failed to open zip file,Android Studio出现Failed to open zip file问题的解决方法...
- java指定长度数组长度_Java声明数组时不能指定其长度
- MPEG创始人、主席:MEPG商业模式已经破裂
- PHP学习之[第11讲]新浪微博开放平台 PHP 与 OAuth 接口(1)
- mysql 查看表格scott_mysql查询学习第一天,针对scott
- 功能引导 android,Flutter实现App功能引导页
- Windows 下音频数据采集和播放
- 【OpenCV】OpenCV实战从入门到精通之 -- 指针访问、迭代器iterator、动态地址计算配合at元素
- php手机关闭程序,php用手机关闭电脑的方法
- Linux常用命令及笔记
- Postgres无法连接到服务器
- ANN 神经网络介绍
- 时隔二十年,《程序员修炼之道》出第二版了!
- CODE ---代码助手 (保存代码、搜代码、生成网页、自由界面)
- 新手如何搭建淘宝客网站,实用教程
- ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM
- Web网页分享到新浪微博与QQ空间链接
- Windows 7自带的显示器校准
- ERP学习网站,搜集中...