//有下面一棵二叉树,转换为表结构:

parent_id child_id weight

------ ------- ------

a b 2

b c 3

c d 4

b e 7

c f 2

//计算叶子节点到根节点之间边的权值的乘积:

leaf weight

---- ------

d 24

e 14

f 12

//数据

create table tree (parent_id varchar2(10),child_id varchar2(10),weight number(2));

insert into tree values('a','b',2);

insert into tree values('b','c',3);

insert into tree values('c','d',4);

insert into tree values('b','e',7);

insert into tree values('c','f',2);

//创建一个函数实现求字串乘积(动态SQL)

create or replace function func_tree(str in varchar2)

return number

as

num number;

begin

execute immediate 'select '||str||' from dual' into num;

return num;

end func_tree;

//sql代码:

select child_id, func_tree(substr(sys_connect_by_path(weight, '*'), 2)) weight

from tree t

where connect_by_isleaf = 1

start with not exists (select 1 from tree where t.parent_id=child_id)

connect by prior child_id = parent_id

order by child_id;

//结果:

CHILD_ID WEIGHT

---------- ----------

d 24

e 14

f 12

oracle叶子节点函数,oracle tree计算叶子节点到根节点的乘积相关推荐

  1. oracle关于字符串函数,Oracle字符串处理函数

    Oracle字符串处理函数 Oracle字符串处理函数 2008年10月18日 星期六 23:45 项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料汇总,做一个信息拼接式的总结. 以下信 ...

  2. oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数

    oracle数据库实现获取时间戳的无参函数 代码如下所示: CREATE OR REPLACE FUNCTION GETMSTIMESTAMP RETURN NUMBER AS MSTIMESTAMP ...

  3. oracle中嵌套函数,Oracle的嵌套函数语法

    Oracle的嵌套函数语法 单行函数可以嵌套任意层: 嵌套函数从最深层开始执行. 通用函数: BFILENAME(directory,file_name) 返回操作系统中与物理文件 file_name ...

  4. oracle中各种函数,oracle中常用函数大全

    1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...

  5. oracle中lead函数,oracle lead()函数 | 学步园

    ead()是一个分析函数,适用于oracle 8i以后的版本, 使用这个函数,你可以一次性从表中查询多条记录, 而不需要进行表的自连接. 返回值:返回与当前行偏离offset行的列值. 语法: lea ...

  6. oracle的连接函数,Oracle各种连接函数总结

    1.前言 Oracle可用连接函数会介绍以下几个 Oracle列转行函数 Listagg() strcat() wmsys.wm_concat() 2.Oracle列转行函数 Listagg() 2. ...

  7. oracle对象权限 函数,oracle的系统和对象权限

    alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...

  8. oracle调用MySQL函数,Oracle的INSTR函数MySQL实现

    Oracle的INSTR函数MySQL实现 一个迁移项目遇到的,MySQL的instr函数只能查找子串是否在父串中,没法按照出现的次数进行查找.这里我自己写了一个,以便迁移.当然我这里仅仅针对的是迁移 ...

  9. oracle中转换函数,Oracle中的转换函数

    Oracle中的转换函数有三个,分别为to_char(),to_date(),to_number() 1.to_char()的用法 格式化当前的日期时间 select sysdate,to_char( ...

  10. 【Groovy】json 序列化 ( JsonBuilder 生成器 | 生成带根节点名称的 json 字符串 | 生成不带根节点名称的 json 字符串 )

    文章目录 一.json 生成器 二.代码示例 一.json 生成器 首先 , 创建 json 生成器 . // json 生成器 def jsonBuilder = new JsonBuilder() ...

最新文章

  1. java JMS消息队列
  2. python学精通要多久-学习Python从入门到精通需要多长时间
  3. php mongodb _id,PHP库 查询Mongodb中的文档ID的方法
  4. 收藏!一张图帮你快速建立大数据知识体系
  5. 如何使用 React 和 React Hooks 创建一个天气应用
  6. C#_XXX事件 的重载均与委托System.EventHandler不匹配
  7. Stats mac免费版 2.4.9(支持M1驱动器的mac,最新macOS系统)
  8. ObjC学习7-C语言特性
  9. android打开文件管理获取文件名,如何从android中的文件路径获取文件名
  10. webpack(一)
  11. 创建自定义Excel模板
  12. 革命三部曲系列——《让子弹飞》的秘密,都在《邪不压正》里面
  13. 后端接口如何提高性能?
  14. c语言进程伪装,易语言程序伪装软件
  15. [树的直径 树形DP] UOJ #11【UTR #1】ydc的大树
  16. 倚天摘星:四季度反复筑底成为定局!
  17. 判断字符串不超过20个字符_如何阻止超过140个字符的推文(如果确实需要)
  18. LoadRunner通过SiteScope监控MySQL的性能
  19. linux centos 7 docker下载mysql5.7
  20. 智能电视验收测试软件,2018智能电视用户赞不绝口的三款屏幕检测软件,绝对干货!...

热门文章

  1. 小菜鸟一步步打造图书馆外挂之十六:手动启动入口的实现
  2. JVM初识之虚拟机内存结构
  3. Java 注解(Java Annotation)
  4. jdk优先级队列是如何实现的
  5. 设计模式-责任链设计
  6. Java 基础 之 变量
  7. Struts数据传输问题-- 数据超出2M时会导致映射数据丢失
  8. Java Design Demo -简单的队列-异步多任务队列(java android)
  9. 通过tomcat插件启动Maven工程
  10. Code[VS]1302 小矮人