sql的递归

来源:互联网 发布:星界边境优化补丁 编辑:程序博客网 时间:2024/06/06 20:07

今日用到了sql递归。用with as 语法。

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中才出现.


0 0
原创粉丝点击