创建测试数据:
CREATE TABLE TEST_DEPT(ID varchar2(10) NOT NULL,NAME varchar2(200),PID varchar2(10));
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1000', '总公司', NULL);
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1001', '北京分公司', '1000');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1002', '上海分公司', '1000');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1003', '北京研发部', '1001');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1004', '北京财务部', '1001');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1005', '北京市场部', '1001');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1006', '北京研发一部', '1003');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1007', '北京研发二部', '1003');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1008', '北京研发一部一小组', '1006');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1009', '北京研发一部二小组', '1006');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1010', '北京研发二部一小组', '1007');
INSERT INTO TEST_DEPT(ID, NAME, PID) VALUES ('1011', '北京研发二部二小组', '1007');
Oracle递归查询:start with connect by prior 深入解析

本文详细介绍了Oracle数据库中使用start with connect by prior进行递归查询的四种情况,包括在子节点端的向下递归和在父节点端的向上递归。通过实例解析了如何根据prior的位置确定查询方向,帮助理解其在查询子节点和父节点时的不同效果。
最低0.47元/天 解锁文章
2011





