oracle树查询(转)

转自:

http://dev.firnow.com/course/7_databases/oracle/oraclexl/20081124/152550.html

 

<!--[endif]-->
我们用一张简单的表COMP_INFO来存储单位信息,包含上下级隶属关系,如下三列,分别为单位ID,单位名称,上级单位ID:
CREATE TABLE COMP_INFO
(
  COMP_ID      VARCHAR2(5 BYTE)                 NOT NULL,
  COMP_NAME    VARCHAR2(80 BYTE)                NOT NULL,
  HIGHER_COMP  VARCHAR2(5 BYTE)
)
TABLESPACE USERS
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
LOGGING
NOCACHE
NOPARALLEL
NOMONITORING;
插入初始数据:
INSERT INTO COMP_INFO VALUES('10000','XX公司','');
INSERT INTO COMP_INFO VALUES('11000','XX公司英国公司','10000');
INSERT INTO COMP_INFO VALUES('12000','XX公司中国公司','10000');
INSERT INTO COMP_INFO VALUES('13000','XX公司日本公司','10000');
INSERT INTO COMP_INFO VALUES('12100','XX公司中国公司北京研究中心','12000');
INSERT INTO COMP_INFO VALUES('12200','XX公司中国公司上海办事处','12000');
INSERT INTO COMP_INFO VALUES('12110','XX公司中国公司北京研究一所','12100');
INSERT INTO COMP_INFO VALUES('12120','XX公司中国公司北京研究二所','12100');
INSERT INTO COMP_INFO VALUES('12130','XX公司中国公司北京研究三所','12100');
INSERT INTO COMP_INFO VALUES('12140','XX公司中国公司北京研究四所','12100');

树状查询语法如下:

SELECT [LEVEL], column, expr...
FROM table
[WHERE condition(s)]
[START WITH condition(s)]
[CONNECT BY PRIOR condition(s)]

 

 

 

 

 

 

posted @ 2010-06-13 09:58  catch22  阅读(269)  评论(0编辑  收藏  举报