zoukankan      html  css  js  c++  java
  • peoplesoft function PSTREENODE 通过 deptid 获得部门树 全路径 名称

    create or replace function getUnitFullName(deptid in varchar)
    return varchar2 is
    r varchar2(1024);
    c int;
    n varchar2(1024);
    m varchar2(1024);
    r_name varchar2(1024);
    m_deptid varchar2(64);
    begin
    r := '';
    select a.tree_level_num,a.tree_node
    into c,m_deptid
    from pstreenode a
    where a.tree_name = 'DEPT_SECURITY'
    and a.tree_node = deptid
    and A.EFFDT = (SELECT MAX(A_ED.EFFDT)
    FROM pstreenode A_ED
    WHERE A.tree_node = A_ED.tree_node);
    
    select l.descr
    into r_name
    from ps_dept_tbl l
    where l.deptid = m_deptid
    and l.EFFDT = (SELECT MAX(D_ED.EFFDT)
    FROM PS_DEPT_TBL D_ED
    WHERE l.SETID = D_ED.SETID
    AND l.DEPTID = D_ED.DEPTID);
    
    r:=r_name;
    if c = 1 then
    return r;
    end if;
    
    
    select a.tree_level_num, a.parent_node_name, a.tree_node
    into c, n, m
    from pstreenode a
    where a.tree_name = 'DEPT_SECURITY'
    and a.tree_node = deptid
    and A.EFFDT = (SELECT MAX(A_ED.EFFDT)
    FROM pstreenode A_ED
    WHERE A.tree_node = A_ED.tree_node);
    while c <> 1 loop
    select l.descr
    into r_name
    from ps_dept_tbl l
    where l.deptid = n
    and l.EFFDT = (SELECT MAX(D_ED.EFFDT)
    FROM PS_DEPT_TBL D_ED
    WHERE l.SETID = D_ED.SETID
    AND l.DEPTID = D_ED.DEPTID);
    r := r_name || '/' || r;
    select a.tree_level_num, a.parent_node_name, a.tree_node
    into c, n, m
    from pstreenode a
    where a.tree_name = 'DEPT_SECURITY'
    and a.tree_node = n
    and A.EFFDT = (SELECT MAX(A_ED.EFFDT)
    FROM pstreenode A_ED
    WHERE A.tree_node = A_ED.tree_node);
    
    end loop;
    return r;
    end getUnitFullName;
  • 相关阅读:
    SCU 3133(博弈)
    SCU 3132(博弈)
    hdu 5183(hash)
    hdu3329(2次dfs)
    hdu5179(数位dp)
    zoj2314(有上下界的网络流)
    CF 519E(树上倍增求lca)
    hdu1251(Trie树)
    SCU 2009(数位dp)
    【Leetcode】Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/eason-liu/p/3387891.html
Copyright © 2011-2022 走看看