论坛首页 综合技术论坛

oracle递归查询

浏览 3877 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-02  
一个是模块表
一个是功能表
我想查的是这个模块下的功能
以树形式
  • 大小: 27 KB
  • 大小: 23.4 KB
  • 大小: 24.7 KB
   发表时间:2012-08-02  
*   层次化查询,即树型结构查询,是SQL中经常用到的功能之一,通常由根节点,父节点,子节点,叶节点组成,其语法如下:
* SELECT [LEVEL] ,column,expression,...
* FROM table_name
* [WHERE where_clause]
* [[START WITH start_condition] [CONNECT BY PRIOR prior_condition]];
* LEVEL:为伪列,用于表示树的层次
* start_condition:层次化查询的起始条件
* prior_condition:定义父节点和子节点之间的关系
* --注意connect by prior empno = mgr 的理解
* --prior表示前一条记录,即下一条返回记录的mgr应当等于前一条记录的empno
0 请登录后投票
   发表时间:2012-08-04  
PROCEDURE producttree(p_groupid tb_sysqx.groupid%TYPE,
                      c_tree    OUT SYS_REFCURSOR) IS
BEGIN
  OPEN c_tree FOR
    select level, a.gnid, a.gnname, a.gnurl
      from tb_functions a
     where exists (select b.gnid
              from tb_sysqx b
             where a.gnid = b.gnid
               and b.groupid =p_groupid)
     START WITH a.pgnid = 0
    CONNECT BY PRIOR a.gnid = a.pgnid;
END producttree;

我的过程就是这样的,你可以参考一下,树形菜单,填充到TREEVIEW上去
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics