java mysql作用是什么意思_java查询mysql数据库的有什么作用

匿名用户

1级

2017-01-03 回答

远标java老师说过MYSQL中没有Oracle类似的CONNECT BY 语句,如果要实现树状查询的话,如果是5.0以上版本可以使用存储过程:

DELIMITER $$

DROP PROCEDURE IF EXISTS `sx_finance`.`pro_channel_class`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_channel_class`(in parentid int)

begin

declare level smallint default 0;

declare cnt int default 0;

create temporary table tt(class_id int,class_name varchar(20),PARENT_ID int,level smallint,sort varchar(1000));

create temporary table tt2(class_id int,class_name varchar(20),PARENT_ID int,level smallint,sort varchar(1000));

insert into tt select class_id,class_name,PARENT_ID,level,cast(class_id as char) from CHANNEL_CLASS where PARENT_ID=parentid;

select row_count() into cnt;

insert into tt2 select * from tt;

while cnt>0 do

set level=level+1;

truncate table tt;

insert into tt select a.class_id,a.class_name, a.PARENT_ID,level,concat(b.sort,a.class_id) from CHANNEL_CLASS a,tt2 b where a.PARENT_ID=b.class_id and b.level=level-1;

select row_count() into cnt;

insert into tt2 select * from tt;

end while;

select class_id, concat(space(a.level*2),'|---',a.class_name) class_name from tt2 a order by sort;

drop table tt;

drop table tt2;

end$$

DELIMITER ;

要不就只能用JAVA程序实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值