Bonjour à tous,

J'ai ce code sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
insert into red (cas,dat,clt,fou,dep,rec,des)
with c as (
select 2 as cas,DAT,null as clt,ANA as fou,null as rec,VER as dep,(select first 1 desf from ach a where (a.ANA=p.ANA)) as des  from PAF p where (ANA<>'00000')and(MOP='ESPECE')and((VER>0)or(VER<0))
union all 
select 2 as cas,DAT,ANA as clt,null as fou,VER as rec,null as dep,(select first 1 descl from ven v where (v.ANA=p.ANA)) as des from PAC P where (ANA<>'00000')and(MOP='ESPECE')and((VER>0)or(VER<0)) 
) select * from c;
que j'ai voulu améliorer pour réduire la durée d'exection qui est à peu prés dans les 30 secondes. Alors j'ai modifié le code comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
with c as 
(select ana,desf from ach)
insert into red (cas,dat,clt,fou,dep,rec,des)
with c as (
select 2 as cas,DAT,null as clt,ANA as fou,null as rec,VER as dep,(select desf from c a where (a.ANA=p.ANA)) as des  from PAF p where (ANA<>'00000')and(MOP='ESPECE')and((VER>0)or(VER<0))
union all 
select 2 as cas,DAT,ANA as clt,null as fou,VER as rec,null as dep,(select desf from c v where (v.ANA=p.ANA)) as des from PAC P where (ANA<>'00000')and(MOP='ESPECE')and((VER>0)or(VER<0)) 
) select * from c;
mais le code ne s'exécute pas , il signale erreur "Token unknown insert"