plsql的一些用法

在同一表中尋找父類記錄。 css

 --路徑級數sql

  
  
  
  
  1. select count(*)+1 into v_data from css.css_organizaioninfo t  
  2.           start with                         -- start with 是遞納入口  
  3.           t.org_id = v_record.org_id         -- 指明入口條件              
  4.           connect by prior                   -- prior 前序遍歷 ;不寫,默認不遞歸查詢  
  5.           tt.parter = t.org_id; 
  6.    param_path_level :v_data;               -- 級聯條件(經過那個字段相連) 

 
--路徑值 
 
   
   
   
   
  1. create or replace function f_find_father(p_value VARCHAR2) return VARCHAR2 is 
  2.      v_str VARCHAR2(60) := p_value; 
  3.      procedure p_get_father_str(p_son in varchar2,p_str in out varchar2) as 
  4.      begin 
  5.           for i in(select parter from css.css_organizaioninfo where org_id = p_son and parter != org_id) loop 
  6.             if instr(p_str ||'_','_'||i.parter ||'_') = 0 then 
  7.               p_str := i.parter || '_' ||p_str; 
  8.               p_get_father_str(i.parter,p_str); 
  9.             end if; 
  10.           end loop; 
  11.      end
  12.      begin 
  13.        p_get_father_str(p_value,v_str); 
          return v_str;
        end;
相關文章
相關標籤/搜索