Bonjour,
voici une procédure stockée qui tente de faire un insert dans une table avec un cursor sur une autre table
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
create or replace procedure PS_CARREL_CONSOCARTONS is
 
dateDeb date;
dateFin date;
 
cursor C1 is 
select w_start,w_end from z_weeks_se;
begin
open C1;
fetch C1 into datedeb,datefin;
close C1;
 
delete z_consocartons;
 
insert into z_consocartons(c_id,d_text,emballage,libelle,nbcolis)
select (gcemballage.emb_code || sum(gcpfab.pfab_pie_r)),datedeb,gcemballage.emb_code,gcemballage.emb_lib2, sum(gcpfab.pfab_pie_r)
from gcpfab
inner join gcarticle on gcpfab.pfab_prd_fab = gcarticle.art_code
inner join gcemballage on gcpfab.pfab_emb = gcemballage.emb_code
where gcpfab.pfab_date >= datedeb and gcpfab.pfab_date <= datefin
and gcarticle.art_stat4 = 'M18'
and gcemballage.emb_code like 'C%' 
group by datedeb, gcemballage.emb_code, gcemballage.emb_lib2;
end;
Le cursor C1 va chercher ces informations :
select w_start,w_end from z_weeks_se;

Nom : 1.png
Affichages : 303
Taille : 5,8 Ko

Ensuite l'insert dans la table z_consocartons ne fonctionne pas comme il faut car seule la 1ere ligne du cursor est prise en compte 17/10/2022 - 23/10/2022:

Nom : 2.png
Affichages : 293
Taille : 26,3 Ko

Moi je voudrais que l'insert aille chercher toutes les lignes du cursor soit 5 période de date.

Merci de votre aide.