Question

Oracle est expédié avec une fonctionnalité très pratique. Vous pouvez créer des requêtes hiérarchiques (comportement récursif) en utilisant la clause suivante:

CONNECT BY [NOCYCLE] {condition [AND condition...]} [START WITH condition]

Comme documenté ici:

http://download.oracle.com/docs/cd/b28359_01/server.111/b28286/queries003.htm

Je me demande, y a-t-il d'autres SGBDR établis qui prennent en charge une syntaxe équivalente ou similaire? Ou un comportement récursif comme celui-ci peut-il être génériquement simulé à l'aide de SQL ordinaire?

Un bon exemple que j'aimerais pouvoir simuler est ceci (tiré de la documentation Oracle):

    SELECT LPAD(' ', 2 * (LEVEL-1)) || last_name org_chart, 
           employee_id, manager_id, job_id
      FROM employees
START WITH job_id = 'AD_VP' 
CONNECT BY PRIOR employee_id = manager_id; 

Résultant en:

ORG_CHART          EMPLOYEE_ID MANAGER_ID JOB_ID
------------------ ----------- ---------- ----------
Kochhar                    101        100 AD_VP
  Greenberg                108        101 FI_MGR
    Faviet                 109        108 FI_ACCOUNT
    Chen                   110        108 FI_ACCOUNT
    Sciarra                111        108 FI_ACCOUNT
    Urman                  112        108 FI_ACCOUNT
    Popp                   113        108 FI_ACCOUNT
  Whalen                   200        101 AD_ASST
  Mavris                   203        101 HR_REP
  Baer                     204        101 PR_REP
  Higgins                  205        101 AC_MGR
    Gietz                  206        205 AC_ACCOUNT
De Haan                    102        100 AD_VP
  Hunold                   103        102 IT_PROG
    Ernst                  104        103 IT_PROG
    Austin                 105        103 IT_PROG
    Pataballa              106        103 IT_PROG
    Lorentz                107        103 IT_PROG

La LEVEL La pseudo-colonne et l'indentation réalisée avec elle n'est pas si importante pour moi

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top