使用Connect by进行递归查询
来源:互联网
首先和使用WITH做递归查询一样,给数据库表插入一定的数据。
CREATE TABLE BBS
(
PARENTID INTEGER NOT NULL,
ID INTEGER NOT NULL,
NAME VARCHAR(200) NOT NULL
);
insert into bbs (PARENTID,ID,NAME) values (0,1,'数据库开发');
insert into bbs (PARENTID,ID,NAME) values (1,11,'DB2');
insert into bbs (PARENTID,ID,NAME) values (11,111,'DB2 文章1');
insert into bbs (PARENTID,ID,NAME) values (111,1111,'DB2 文章1 的评论1');
insert into bbs (PARENTID,ID,NAME) values (111,1112,'DB2 文章1 的评论2');
insert into bbs (PARENTID,ID,NAME) values (11,112,'DB2 文章2');
insert into bbs (PARENTID,ID,NAME) values (1,12,'Oracle');
insert into bbs (PARENTID,ID,NAME) values (0,2,'Java 技术');
COMMIT;
select * from BBS
start with name = ‘DB2文章1的评论2’ --从某一个节点开始,进行向上递归
connect by prior PARENTID = ID; --连接条件
首先和使用WITH做递归查询一样,给数据库表插入一定的数据。
CREATE TABLE BBS
(