afin de remplir une table avec des score j'ai precedé ainsi:
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
create or replace PROCEDURE calcul_score as
 
vcentre number;
vrc NUMBER;
vannee number;
CURSOR vcursor_score is 
select centre, rc, annee from score_societe;
 
begin
 
  open vcursor_score;
  LOOP
              FETCH vCursor_score INTO vcentre, vrc, vannee;
              EXIT WHEN vCursor_score%NOTFOUND;
              update score_societe 
              set s1 = calcul_s1(vcentre, vrc, vannee), 
                  s2 = calcul_s2(vcentre, vrc, vannee),
                  s3 = calcul_s3(vcentre, vrc, vannee),
                  s4 = calcul_s4(vcentre, vrc, vannee),
                  s5 = calcul_s5(vcentre, vrc, vannee), 
                  s6 = calcul_s6(vcentre, vrc, vannee)
                  where centre = vcentre and rc = vrc and annee = vannee;
 
  END LOOP ;
  commit;
            CLOSE vCursor_score;
  END;
je fais apel a 6 fonction,chaqune a un traitement specific mé le temps de reponse est long, ya une possibilté pour l'optimiser.merci