用Oracle 10g新层次伪列探查层次循环

开发者在线 Builder.com.cn 更新时间:2007-02-01作者:builder.com.cn 来源:

column "Reports To" format a30
set pagesize 9999

SELECT LPAD(' ', 2*(LEVEL-1))||last_name "Reports To", employee_id
FROM employees
START WITH employee_id IN (101, 102)
CONNECT BY PRIOR employee_id = manager_id
/

Reports To                     EMPLOYEE_ID                                     
------------------------------ -----------                                     
De Haan                                102                                     
  Hunold                               103                                     
    Austin                             105                                      
    Ernst                              104                                     
    Lorentz                            107                                     
    Pataballa                          106                                      
Kochhar                                101                                     
  Baer                                 204                                     
  Greenberg                            108                                      
    Chen                               110                                     
    Faviet                             109                                     
    Popp                               113                                     
    Sciarra                            111                                     
    Urman                              112                                     
      Kochhar                          101                                     
ERROR:
ORA-01436: CONNECT BY loop in user data

用户评论

  • 用户名
  • 评论内容