Bonjour,
J'ai défini la requète suivante qui ramène les données attendues :J'ai besoin d'insérer les résultats dans une table afin de la réexploiter par d'autres requètes. J'ai testé la requète suivante :
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 SQL> desc actlist Name Null? Type ----------------------------------------- -------- ---------------------------- TIME_ACT NOT NULL NUMBER(38) NON_CTL_AREA_NAME NOT NULL VARCHAR2(12) AIRSPACE_ENV_NAME NOT NULL VARCHAR2(20) SQL> with sr AS ( select non_ctl_area_name,time_act as time_courant, 2 3 lead(time_act) over(partition by non_ctl_area_name order by time_act asc) as time_suivant 4 from actlist where airspace_env_name='MAASNEW' and non_ctl_area_name='NORB' 5 ) 6 select non_ctl_area_name,time_courant,time_suivant 7 from sr 8 where time_suivant is not null; NON_CTL_AREA TIME_COURANT TIME_SUIVANT ------------ ------------ ------------ NORB 1000 1100 NORB 1100 1200 NORB 1200 1300 NORB 1300 1400 SQL>Je ne sais pas trop comment formuler la requète, je compte sur les suggestions de la communauté.
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 SQL> desc time_tmp Name Null? Type ----------------------------------------- -------- ---------------------------- NON_CTL_AREA_NAME NOT NULL VARCHAR2(12) TIME_COURANT NOT NULL NUMBER(38) TIME_SUIVANT NOT NULL NUMBER(38) SQL> INSERT INTO TIME_TMP ( WITH SR AS (SELECT NON_CTL_AREA_NAME,TIME_ACT AS TIME_COURANT, 2 3 LEAD(TIME_ACT) OVER(PARTITION BY NON_CTL_AREA_NAME ORDER BY TIME_ACT ASC) AS TIME_SUIVANT 4 FROM ACTLIST 5 WHERE AIRSPACE_ENV_NAME = 'MAASNEW') 6 SELECT s.NON_CTL_AREA_NAME,s.TIME_COURANT,s.TIME_SUIVANT 7 FROM SR s 8 WHERE s.TIME_SUIVANT IS NOT NULL) 9 ; WHERE s.TIME_SUIVANT IS NOT NULL) * ERROR at line 8: ORA-32034: unsupported use of WITH clause
Merci de votre aide
Partager