mysql 中的数据实现递归查询

一. 表结构

二.

create procedure Pro_GetUnderOrge5(in idd varchar(36))

begin
declare lev int;
set lev=1;
drop table if exists tmp1;
    CREATE TABLE tmp1(vid VARCHAR(5),vname varchar(10),vpid varchar(5),vlevel varchar(5),levv INT);
    INSERT tmp1 SELECT vid,vname,vpid,vlevel,1 FROM digui WHERE vpid=idd;
while  row_count()>0
do
     set lev=lev+1;
     INSERT tmp1 SELECT t.vid,t.vname,t.vpid,t.vlevel,lev from digui t join tmp1 a on t.vpid=a.vid AND levv=lev-1;
end while ;
    INSERT tmp1 SELECT vid,vname,vpid,vlevel,0 FROM digui WHERE vid=idd;
     SELECT * FROM tmp1;
end

三。调用结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值