标签:insert parent 父级 into 树结构 id values oracle 节点
我所做过的情况:
所有的数据都是存在末级节点上面的,然后查询的时候要求父节点要显示子集的合计
图一显示末级上面的数据
图二显示父节点的值 可以看出父级节点的值是子集的合计
情况就是这样下面给出一个demo,在数据库执行以下就可以看出来该怎么做了
create table t
(id number,
parent_id number,
value number);
insert into t values(1,0,0);
insert into t values(2,1,0);
insert into t values(3,1,0);
insert into t values(4,2,100);
insert into t values(5,3,200);
commit;
select * from t order by id asc;
关键语句:
with ttt as
(select t.*, SYS_CONNECT_BY_PATH(id, '/') || '/' path
from t
start with t.parent_id = 0
connect by prior t.id = t.parent_id)
SELECT id,
parent_id,
value,
(SELECT SUM(value) FROM ttt WHERE path like t1.path || '%') s_value
FROM ttt T1;
可以看出已经将所有的节点的数据都查出来了
接下就可以挑出父节点的数据,将他更新到父节点数据上,更新的时候可以使用merge into语法这样比较高效。
标签:insert,parent,父级,into,树结构,id,values,oracle,节点 来源: https://www.cnblogs.com/LDJW/p/15825002.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。