mysql查詢樹結構 定義函式

2021-07-05 04:32:23 字數 831 閱讀 8107

修改一下函式,然後就可以使用了。

/* 查詢樹結構函式 mysql可用 */

drop function if exists queryupmsmenutree; /*函式名*/

create function `queryupmsmenutree` (param_id varchar(32)) /*傳入引數*/

returns varchar(4000) 

begin 

declare stemp varchar(4000); 

declare stempchd varchar(4000); 

set stemp = '$'; 

set stempchd = param_id; /*傳入引數替換給臨時變數*/

while stempchd is not null do 

set stemp = concat(stemp,',',stempchd); 

/* 下面要修改c_id(當前id欄位名)、t_upms_menu(表名)、c_pid(父id欄位名) */

select group_concat(c_id) into stempchd from t_upms_menu where find_in_set(c_pid,stempchd)>0; 

end while; 

return stemp; 

end; 

//測試例句:

select queryupmsmenutree('-1');

select c_menu_name from t_upms_menu where find_in_set(c_id, queryupmsmenutree('-1')); 

MySQL 查詢 樹結構

關於樹結構 此類結構的資料,通常需要表結構中含有id parentid等自關聯字段,有時為了提高查詢效率還可增加更多冗餘字段,如index,index的值為所有父級目錄的id字串集合。關於樹結構資料的組裝,常見的寫法是在程式中通過遞迴的方式去構建出一顆完整的樹,單純通過sql的方式其實並不常用,下面...

Oracle 樹結構查詢

同事寫的樹結構查詢,記錄一下 表結構很簡單 就兩列 rangid number rangname varchar2 主要根據rangid數值來表示層級關係 select t1.rangid,t1.rangname,decode select count from test t2 where t2.r...

Oracle樹結構查詢

oracle樹結構查詢 start with connect by用法簡介 oracle是乙個關聯式資料庫管理系統,它用表的形式組織資料,在某些表中的資料還呈現出 樹型結構的聯絡。例如,我們現在討論雇員資訊表emp,其中含有雇員編號 empno 和 經理 mgr 兩例,通過這兩列反映出來的就是雇員之...