欄目表 t_fw_channel ,字段:ID,NAME,PARENT_ID,LEVEL_ID
--根據ID 獲取欄目路徑:
select substr(SYS_CONNECT_BY_PATH(name,'>'),2) PATH
from t_fw_channel c where is_valid = 1
start with id = 4
connect by prior c.parent_id = c.id
--根據字段最大值 進行累計 每次+100
select nvl(max(order_id),'0')+100 from t_fw_channel
--遍歷完整樹:
select *
from t_fw_channel a
where is_valid = 1 --判斷是否可用
and audit_status = 1 --判斷狀態是否通過
start with a.parent_id = 0
connect by prior a.id = a.parent_id order siblings by order_id asc;
--根據3級欄目ID 遍歷樹(向上遍歷):
select *
from (select distinct *
from (select *
from t_fw_channel a
where is_valid = 1
and audit_status = 1
start with a.id in (select ID from t_fw_channel where LEVEL_ID=3)
connect by prior a.parent_id = a.id))
start with parent_id = 0 connect by prior id = parent_id
order siblings by order_id asc
--根據1級欄目ID 遍歷樹(只能頭部向下遍歷):
select *
from (select distinct *
from (select *
from t_fw_channel a
where is_valid = 1
and audit_status = 1
start with a.id in (select ID from t_fw_channel where LEVEL_ID=1)
connect by prior a.id=a.parent_id))
start with parent_id = 0 connect by prior id = parent_id
order siblings by order_id asc