oracle关键字 start with、、、 connect by prior 子句递归查询
来源:互联网 发布:java 调用chart.js 编辑:程序博客网 时间:2024/04/29 00:04
ORACLE 提供了一个有趣的功能 connect by 子句,它可以对具有家族树结构的分枝进行排序。它的用途有机构或公司的各层结构,财务的科目代码等。
要使用查询遍历,需要在将数据在基表中按照层次结构进行存储。比如一个组织机构就是这样的典型例子。
实现语句:
SELECT column
FROM table_name
START WITH column=value
CONNECT BY PRIOR 父主键=子外键
网上有朋友已经给了一个简洁的例子,就直接引用他的例子如下:
——————————————————————————————————————
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER DEFAULT 0
);
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER DEFAULT 0
);
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
从Root往树末梢递归
select * from TBL_TEST
start with id=1
connect by prior id = pid
start with id=1
connect by prior id = pid
从末梢往树ROOT递归
select * from TBL_TEST
start with id=5
connect by prior pid = id
start with id=5
connect by prior pid = id
- oracle关键字 start with、、、 connect by prior 子句递归查询
- Oracle start with......connect by prior......子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- 用START WITH...CONNECT BY PRIOR子句实现递归查询
- START WITH CONNECT BY PRIOR子句实现递归查询
- START WITH CONNECT BY PRIOR子句实现递归查询
- start with connect by prior子句实现递归查询
- START WITH CONNECT BY PRIOR子句实现递归查询
- START WITH CONNECT BY PRIOR子句实现递归查询
- START WITH CONNECT BY PRIOR子句实现递归查询
- oracle递归START WITH...CONNECT BY PRIOR子句用法
- oracle用START WITH...CONNECT BY PRIOR子句实现递归查询
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- IOC容器的理解
- 如何让sql自动定时执行某个存储过程
- C# 与 C++ 数据类型对照(转)
- Android vold
- asp.net系统导入Excel数据时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序"
- oracle关键字 start with、、、 connect by prior 子句递归查询
- bitmapimage与byte[]相互转换 --转
- Symbian应用程序更换系统控件背景
- 在Linux系统中存储设备表示方法
- 最近的状态
- Windows Socket五种I/O模型
- jsp下载文件demo
- php 伪静态 (url rewrite mod_rewrite 重写)
- Winsock IOCP模型(二)