修改一下函式,然後就可以使用了。
/* 查詢樹結構函式 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 兩例,通過這兩列反映出來的就是雇員之...