首页-玉祥公司客服

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

348

主题

3572

帖子

9788

积分

论坛元老

Rank: 8Rank: 8

积分
9788
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

帖子

9788

积分

论坛元老

Rank: 8Rank: 8

积分
9788
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。
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|首页-玉祥公司客服  本站关键词:玉祥平台客服

GMT+8, 2024-6-27 01:26 , Processed in 0.133709 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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