向高手请教db2游标的问题,不知道能不能通过游标获取递归的频道的名称列表

hongfarge 2007-10-15 05:13:54
请高手赐教。
我有一张频道表,有三个基本字段
chnlid,chnlname,parentid
1 a 0
2 b 1
3 c 0
4 d 2
我想通过db2的游标,通过输入chnlid,如输入4,能得到所有的频道名称 d;b;a
...全文
36 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2007-10-16
  • 打赏
  • 举报
回复
DB2的递归查询
在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

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧