|
oracle 遞歸用法
|
1
2
3
4
|
SELECT *
FROM menu
START WITH id ='102'
CONNECT BY PRIOR pid=id
|
一種應(yīng)用
|
1
2
3
4
|
SELECT *
FROM menu a
START WITH id in (select menu_id from role_menu where role_code = '005')
CONNECT BY PRIOR id = pid)
|
解釋:不太明白為什么,

這個時候查出來的數(shù)據(jù)是重復(fù)的
|
1
2
3
4
|
SELECT a.id
FROM menu a
START WITH id in (select id from menu)
CONNECT BY PRIOR id = pid
|

查出來的數(shù)據(jù)還是重復(fù)的.
|
1
2
3
4
5
6
7
8
|
select *
from menu
where id in
(SELECT a.id
FROM menu a
START WITH id in
(select menu_id from role_menu where role_code = '005')
CONNECT BY PRIOR id = pid)
|
|