sql递归查询语句,对于给定一个父结点, 取出存于表中的菜单的操作是比较容易的。
表结构:
递归查找父结点为303下的所有子结点:
结果:
SQL> select * from t_right r
2 start with r.parent_right_id = 303 connect by prior r.right_id = r.parent_right_id ;
RIGHT_ID RIGHT_NAME RIGHT_TYPE REMARK CONTROL_TYPE PARENT_RIGHT_ID
----------- ----------------------- ---------------- ----------- ------------ -----------------------------
30304 工时池统计分析 2 1 303
30305 施工单查询 2 1 303
30301 超时单 2 1 303
3030101 施工单 2 1 30301
3030102 任务单 2 1 30301
30302 异常单 2 1 303
3030201 任务单 2 1 30302
30303 工时池查询 2 1 303
30306 任务单查询 2 1 303
9 rows selected