通過函式方式,更新mysql樹形結構表,每個節點的祖級路徑
create
table sys_dept
( dept_id varchar(50
)not
null
comment
'部門id'
primary
key,
parent_id varchar(50
)default
'0'null
comment
'父部門id'
, ancestors varchar(50
)default
''null
comment
'祖級列表'
, dept_name varchar(50
)default
''null
comment
'部門名稱'
,)
drop
function getdeptparentnodelist;
create
function
`getdeptparentnodelist`
(`deptid`
varchar(30
))returns
longtext
charset utf8
begin
declare parentlist longtext
;# 返回父節點結果集
declare tempparent varchar
(1000);
# 臨時存放父節點
set parentlist ='';
set tempparent = cast(deptid as
char);
# 將int型別轉換為string
while tempparent !=
'0'do
select parent_id into tempparent from sys_dept where dept_id = tempparent;
# 查詢節點上所有父節點
set parentlist = concat(tempparent,
',',parentlist)
;# 存入到返回結果中
endwhile
;return substring(parentlist,
1, length(parentlist)-1
);end;
mysql查詢樹結構 定義函式
修改一下函式,然後就可以使用了。查詢樹結構函式 mysql可用 drop function if exists queryupmsmenutree 函式名 create function queryupmsmenutree param id varchar 32 傳入引數 returns varch...
樹結構表查詢
我們經常會將乙個比較複雜的目錄樹儲存到乙個表中。或者將一些部門儲存到乙個表中,而這些部門互相有隸屬關係。這個時候你就會用到connect by prior start with。connect by 是結構化查詢中用到的,其基本語法是 select from tablename start with...
MySQL 查詢 樹結構
關於樹結構 此類結構的資料,通常需要表結構中含有id parentid等自關聯字段,有時為了提高查詢效率還可增加更多冗餘字段,如index,index的值為所有父級目錄的id字串集合。關於樹結構資料的組裝,常見的寫法是在程式中通過遞迴的方式去構建出一顆完整的樹,單純通過sql的方式其實並不常用,下面...