当前位置: 首页 > news >正文

Oracle 递归案例

Oracle 递归案例

  • Oracle 递归案例
    • 前提准备
    • 递归查询某个部门(ROOT)的所有子级部门
    • 递归查询某个部门(A)的所有子级部门
    • 递归查询某个部门(B02)的所有上级部门
    • 递归查询某个部门(A021)的所有上级部门

Oracle 递归案例

前提准备

-- 部门表
create table department (
 code VARCHAR2(10) not null,
 name VARCHAR2(50),
 pcode VARCHAR2(10),
 mgrname VARCHAR2(50)
);
-- 造数据
insert into department values('ROOT','顶级部门', null, '顶级BOSS');
insert into department values('A','A部门', 'ROOT', 'A老大');
insert into department values('A01','A01部门', 'A', 'A01老大');
insert into department values('A02','A02部门', 'A', 'A02老大');
insert into department values('B','B部门', 'ROOT', 'B老大');
insert into department values('B01','B01部门', 'B', 'B01老大');
insert into department values('B02','B02部门', 'B', 'B02老大');
insert into department values('A021','A02部门', 'A02', 'A021老大');

递归查询某个部门(ROOT)的所有子级部门

select t.* from department t start with t.code='ROOT' connect by prior t.code = t.pcode;

在这里插入图片描述

递归查询某个部门(A)的所有子级部门

select t.* from department t start with t.code='A' connect by prior t.code = t.pcode;

在这里插入图片描述

递归查询某个部门(B02)的所有上级部门

select t.* from department t start with t.code='B02' connect by t.code = prior t.pcode ;

在这里插入图片描述

递归查询某个部门(A021)的所有上级部门

select t.* from department t start with t.code='A021' connect by t.code = prior t.pcode ;

在这里插入图片描述

相关文章:

  • Python编程 print输出函数
  • WordPress JSON REST API OAuth 1.0 认证获取Authorization Basic 码+Python api 创建文章(一)
  • 力扣 每日一题 1235. 规划兼职工作【难度:困难,rating: 2022】(动态规划+二分查找)
  • 数据挖掘-模型的评估(四)
  • 开源远程桌面软件_RustDesk_(可自建远程桌面服务器)
  • 【Django框架】——11 Django模型——02创建模型类
  • 【考研】暨南大学 848 操作系统简答题(2020-2022)
  • docker-compose部署hive、kafka服务
  • @Import注解详解
  • 基于springboot+vue的美食分享网站
  • 动态规划-斐波拉契数列笔记
  • 农民工学CSAPP题目解析-前篇题目解答以及答疑总结
  • HBase系列从入门到精通(二)
  • libusb系列-002-Windows下libusb源码编译
  • 【C++ 科学计算】C++ 矩阵操作运算符
  • ES6指北【2】—— 箭头函数
  • CentOS7 安装JDK
  • CSS 三角实现
  • java小心机(3)| 浅析finalize()
  • Laravel核心解读--Facades
  • Mac转Windows的拯救指南
  • Magento 1.x 中文订单打印乱码
  • Mysql优化
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Redis在Web项目中的应用与实践
  • Unix命令
  • 警报:线上事故之CountDownLatch的威力
  • 开发基于以太坊智能合约的DApp
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 小而合理的前端理论:rscss和rsjs
  • 异步
  • 硬币翻转问题,区间操作
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1)(1.13) SiK无线电高级配置(五)
  • (4)STL算法之比较
  • (ZT)一个美国文科博士的YardLife
  • (排序详解之 堆排序)
  • (十)c52学习之旅-定时器实验
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原)本想说脏话,奈何已放下
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)ObjectiveC 深浅拷贝学习
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .bat文件调用java类的main方法
  • .NET gRPC 和RESTful简单对比
  • .net操作Excel出错解决
  • .NET正则基础之——正则委托
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .sh 的运行
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [20190401]关于semtimedop函数调用.txt
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)