bianle
6/22/2016 - 9:50 AM

db2递归

db2递归

with n(level,function_privi_id,parent_function_id,function_privi_name,id_chain) as (
        select 1,function_privi_id,parent_function_id,function_privi_name,cast(function_privi_id as varchar(300))||','
        from t_sys_function_privi 
        where parent_function_id = '10' 
        union all
        select n.level+1,nplus1.function_privi_id,nplus1.parent_function_id ,nplus1.function_privi_name,n.id_chain||nplus1.function_privi_id||',' 
        from t_sys_function_privi as nplus1,n
        where n.function_privi_id = nplus1.parent_function_id
    )
    select * from n order by id_chain