在db2可以使用sql语句来进行递归查询,就是使用with语句

1.先建一个树形表:

create table tst (
id  
integer,
parentId 
int,
name 
varchar(20))

2.插入数据
insert into tst values 
(
1,0,'a'),
(
2,0,'b'),
(
3,1,'c'),
(
4,1,'d'),
(
5,4,'d'),
(
6,5,'d')
3.使用递归查询
with rpl (id,parentId,name) as 
(
select id,parentId,name from tst  where parentId=1 
union all 
select  child.id,child.parentId,child.name from rpl parent, tst child where parent.id=child.parentId
)
select * from rpl

这个语句在在db2 7中就有了,在sql2005中才出现.
posted on 2006-12-09 23:02  自由港  阅读(7185)  评论(0编辑  收藏  举报