度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
123
返回列表 发新帖
楼主: 万望
打印 上一主题 下一主题

[分享] Oracle 的递归语句(select…start with…connect by…prior)

[复制链接]

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
21#
 楼主| 发表于 2020-3-14 22:30:28 | 只看该作者
列出当前节点的根节点。
在前面说过,根节点就是start with开始的地方。
  1. select connect_by_root title, tb_menu.*
  2. from tb_menu
  3. start with id = 50
  4. connect by prior parent = id;
复制代码

connect_by_root函数用来列的前面,记录的是当前节点的根节点的内容。
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
22#
 楼主| 发表于 2020-3-18 17:50:08 | 只看该作者
列出当前节点是否为叶子。
这个比较常见,尤其在动态目录中,在查出的内容是否还有下级节点时,这个函数是很适用的。
  1. select connect_by_isleaf, tb_menu.*
  2. from tb_menu
  3. start with parent is null
  4. connect by parent = prior id;
复制代码

connect_by_isleaf函数用来判断当前节点是否包含下级节点,如果包含的话,说明不是叶子节点,这里返回0;反之,如果不包含下级节点,这里返回1。
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-24 08:40 , Processed in 0.111612 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表