oracle SQL递归的使用详解
程序员文章站
2023-11-30 10:57:52
oracle数据库中如果需要使用sql递归语句,应该怎么写呢?下面就为您介绍一个oracle中使用sql递归语句的例子,供您参考。例子:复制代码 代码如下:pid ...
oracle数据库中如果需要使用sql递归语句,应该怎么写呢?下面就为您介绍一个oracle中使用sql递归语句的例子,供您参考。
例子:
pid id
a b
a c
a e
b b1
b b2
c c1
e e1
e e3
d d1
指定pid=a,选出
a b
a c
a e
b b1
b b2
c c1
e e1
e e3
sql语句:select parent,child from test start with pid='a'
connect by prior id=pid
oracle sql递归查询语句:
1、表机构
sql> desc comm_org_subjection
name null? type
----------------------------------------- -------- ----------------------
org_subjection_id not null varchar2(32) 子键
org_id not null varchar2(32)
father_org_id not null varchar2(32) 父键
locked_if not null varchar2(1)
start_date not null date
end_date date
edition_nameplate number(8)
code_afford_if varchar2(1)
code_afford_org_id not null varchar2(32)
coding_show_id number(8)
bsflag varchar2(1)
modifi_date date
creator_id varchar2(32)
create_date date
creator varchar2(35)
2、递归查找父结点 org_id为c6000000000001下的所有子结点:
select * from comm_org_subjection a
start with a.org_id='c6000000000001'
connect by prior a.org_subjection_id=a.father_org_id
3、递归查找子结点 org_id为c6000000000001下的所有父结点:
select org_id from comm_org_subjection a
start with a.org_id='c6000000000001'
connect by prior a.father_org_id=a.org_subjection_id
例子:
复制代码 代码如下:
pid id
a b
a c
a e
b b1
b b2
c c1
e e1
e e3
d d1
指定pid=a,选出
a b
a c
a e
b b1
b b2
c c1
e e1
e e3
sql语句:select parent,child from test start with pid='a'
connect by prior id=pid
oracle sql递归查询语句:
1、表机构
复制代码 代码如下:
sql> desc comm_org_subjection
name null? type
----------------------------------------- -------- ----------------------
org_subjection_id not null varchar2(32) 子键
org_id not null varchar2(32)
father_org_id not null varchar2(32) 父键
locked_if not null varchar2(1)
start_date not null date
end_date date
edition_nameplate number(8)
code_afford_if varchar2(1)
code_afford_org_id not null varchar2(32)
coding_show_id number(8)
bsflag varchar2(1)
modifi_date date
creator_id varchar2(32)
create_date date
creator varchar2(35)
2、递归查找父结点 org_id为c6000000000001下的所有子结点:
复制代码 代码如下:
select * from comm_org_subjection a
start with a.org_id='c6000000000001'
connect by prior a.org_subjection_id=a.father_org_id
3、递归查找子结点 org_id为c6000000000001下的所有父结点:
复制代码 代码如下:
select org_id from comm_org_subjection a
start with a.org_id='c6000000000001'
connect by prior a.father_org_id=a.org_subjection_id
上一篇: 对python_discover方法遍历所有执行的用例详解
下一篇: android实现文件读写功能