Bonjours j'essaye de calculer le chiffre d'affaires dans une base de données, mais je bloque quand j'appelle ma fonction elle ne renvoie rien du tout..
Je pense à un problème de portée de variable, mais je ne suis pas sur..
declare
pnum varchar2(10);
chiffre number(10);
begin
pnum:= 'V8000';
chiffre := chiffreV(pnum);
dbms_output.put_line(chiffre);
end;
[2019-03-04 18:14:17] completed in 6 ms
le code que j'ai écrit pour appeler ma fonction
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 create or replace function chiffreV(nV varchar2) return number is chiffre number(10); placeR number; PRIX number; cursor c1 is select distinct(CLASSE.nomclasse) from CLASSE where classe.numvol=nV; begin chiffre:= 0; for c1_ligne in c1 loop select coutvol*CoeffPrix into PRIX from VOL inner join CLASSE C2 on VOL.NumVol = C2.NumVol where VOL.NumVol=nV and c2.nomclasse=c1_ligne.nomclasse; select sum(NbPlaces) into placeR from RESERVATION where numvol=nV and nomclasse=c1_ligne.nomclasse; chiffre := chiffre+prix*placeR; end loop; return chiffre; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 declare pnum varchar2(10); chiffre number(10); tes number(3); begin pnum:= 'V8000'; chiffre := chiffreV(pnum); dbms_output.put_line(chiffre); end;
Merci d'avance
Partager