軟件測試數據庫中ORACLE層次結構查詢語句

發表于:2010-12-20來源:作者:點擊數: 標簽:軟件測試數據庫oracleOracleORACLE
軟件測試 數據庫 中ORACLE層次結構查詢語句 oracle是殷墟(Yin Xu)出土的甲骨文(oracle bone inscriptions)的英文翻譯的第一個單詞,在英語里是“神諭”的意思。 Oracle 是世界領先的信息管理軟件 開發 商,因其復雜的關系數據庫產品而聞名。Oracle數據庫

軟件測試數據庫中ORACLE層次結構查詢語句
oracle是殷墟(Yin Xu)出土的甲骨文(oracle bone inscriptions)的英文翻譯的第一個單詞,在英語里是“神諭”的意思。Oracle是世界領先的信息管理軟件開發商,因其復雜的關系數據庫產品而聞名。Oracle數據庫產品為財富排行榜上的前1000家公司所采用,許多大型網站也選用了Oracle系統。
ORACLE 提供了一個有趣的功能 connect by 子句,它可以對具有家族樹結構的分枝進行排序。它的用途有 機構或公司的各層結構,財務的科目代碼等。

  要使用查詢遍歷,需要在將數據在基表中按照層次結構進行存儲。比如一個組織機構就是這樣的典型例子:

  實現語句:

  SELECT column

  FROM table_name

  START WITH column=value

  CONNECT BY PRIOR 父主鍵=子外鍵

  例1:在ORACLE的EMP 表中,每一條記錄都有一個唯一標識當前雇員的empno和標識這個雇員的經理的mgr列。如果mgr 為空,則該雇員是該機構的最頂級?,F在要列出每個雇員的層次結構(從頂到底):

  select lpad(' ',4*(level-1))||ename name ,empno,mgr from emp

  start with mgr is null

  connect by prior empno=mgr;

  NAME                    EMPNO     MGR

  --------------------                ---------      ---------

  KING                      7839

  JONES                 7566      7839

  SCOTT             7788      7566

  ADAMS        7876     7788

  FORD              7902      7566

  SMITH         7369      7902

  BLAKE                 7698      7839

  ALLEN             7499      7698

  WARD              7521      7698

  MARTIN            7654      7698

  TURNER            7844      7698

  JAMES             7900     7698

  CLARK                 7782      7839

  MILLER            7934      7782

  14 rows selected.

  SQL>

  從查詢結果中可以看出,由于JONES、BLAKE、CLARK的上司是KING,所以JONES等MGR(經理編號)=KING的empno號,即KING的直接下級是JONES、BLAKE、CLARK,因為他們的MGR與KING的EMPNO一樣。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97