`

oracle树操作,异步查询,子节点过多分批查询

阅读更多

 oracle树操作链接

 

 

 

select m.* from (

       select a.*, level leaf  ,connect_by_isleaf isleaf,sys_connect_by_path  fullpath (title, '/')

        from tb_menu  a

        start with parent is null

        connect by parent = prior id ORDER SIBLINGS BY  to_number(a.id)

   ) M

 

where M.parent == (clicked tree id)

 

 

leaf :树结构中第几级

isleaf  0/1  是否为顶节点或子节点(判断含有子节点的各省)

fullpath  /title1/title1-1/title1-1-1 按照从上到下依次把title用 “/” 连接起来 作为一列

 

 

树节点防止子节点数太多,一次性添加到节点太慢,就分层异步展开,即点哪个结点就查只它(clicked tree id)的子节点!

这样就OK了。

如果它的子节点还是太多,超过大约300个子节点以上,就先查前0-100 个节点,然后添加在代码中添加一个节点(加载更多(100/300) )在最后, 并让他响应click事件,当点击这个代码中添加的节点的时候就加载余下的101-200,直到300个节点全部加载完。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics