Bonjour,

J'essaie de reproduire sur mon cas les requêtes utilisant le CONNECT BY PRIOR cités dans cet article (au passage, je ne m'intéresse pas du tout au passage vers DB2, mais seulement aux exemples Oracle), et je n'y arrive pas du tout

Par exemple, la première requête donnée fonctionne très bien sur emp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT name 
FROM emp
START WITH name = 'Goyal'
CONNECT BY PRIOR empid = mgrid
Par contre, quand j'essaie de faire la même chose avec ma table, je n'obtiens qu'une seule ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select clef
from testkk
start with clef = 'COMCE0001200900-001'  
connect by prior clef = clefsuiv
Quelqu'un verrait-il où est l'erreur dans ma transposition ?

Merci pour toute piste !
___

Données de test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CREATE TABLE TESTKK
(
  CLEF               VARCHAR2(20 CHAR),
  SCRGMOD_GMOD_CODE  VARCHAR2(1 CHAR)           NOT NULL,
  CLEFSUIV           CHAR(20 CHAR)
) ;
 
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('COMCE0001200900-001', 'D', NULL);
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('COMCE0001200900-002', 'V', 'COMCE0001200900-001 ');
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('COMCE0001200900-003', 'X', 'COMCE0001200900-002 ');
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('ECOAE0001200900-001', 'D', NULL);
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('ECOAE0001200900-002', 'V', 'ECOAE0001200900-001 ');
Insert into TESTKK
   (CLEF, SCRGMOD_GMOD_CODE, CLEFSUIV)
 Values
   ('ECOAE0001200900-003', 'X', 'ECOAE0001200900-002 ');
COMMIT;