java调用mysql的递归_Java连MySql数据库存储过程内使用while循环递归至分类根节点的问题~~...

label_proc:

begin

declare v_category_inner_code int;

declare v_rootid int default null;

declare v_tempid int default null;

declare v_listid varchar(1000) default 'aaa';

set v_category_inner_code = p_category_inner_code;

while (v_category_inner_code is not null)

do

begin

if exists (select * from pu_productcategory where category_inner_code = v_category_inner_code) then

select category_inner_code,up_inner_code into v_tempid,v_category_inner_code from pu_productcategory where category_inner_code = v_category_inner_code;

else

select v_category_inner_code;

set v_category_inner_code = null;

end if;

end;

end while;

select * from pu_productcategory where category_inner_code = v_category_inner_code;

end label_proc

如上代码:mySQL存储过程 需传入一个参数p_category_inner_code int,数据表结构主要就一个category_inner_code分类编号 和上up_inner_code上级分类编号,我想根据p_category_inner_code 传入的参数递归查询

出该分类的最根级分类,就一个while简单的循环不错那里了,就是没结果出来,好象变成死循环了,我感觉我做的没错啊,希望高手来解决,本人mysql新手。

呵呵,自己解决了,错在这步:select category_inner_code,up_inner_code into v_tempid,v_category_inner_code  from pu_productcategory where category_inner_code = v_category_inner_code;原本是想根据v_category_inner_code来取记录并把up_inner_code 给v_category_inner_code赋值一步完成,下次递归循环查询的就是ID为这条记录的上级分类,但是MYSQL这里却不能很好的处理这个v_category_inner_code作为条件又给它赋值的操作,语法是没错误的,但是结果就是不出来,运行时还提示的结果超过多行错误!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值