mysql 樹結構表,通過函式更新祖級路徑

2021-10-14 17:06:54 字數 1279 閱讀 3715

通過函式方式,更新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的方式其實並不常用,下面...