Bonjour à tous,
Etant nouveau dans le domaine de la programmation PL/SQL, j'aurais besoin de vos lumières.
Voici mon code :
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 FUNCTION moyenneEtudiantModule(p_etudiant IN Etudiants.idEtudiant%TYPE, p_idModule IN Modules.idModule%TYPE) RETURN NUMBER IS moyenne NUMBER; moyenne_note NUMBER; moyenne_coefficient NUMBER; BEGIN DBMS_OUTPUT.ENABLE; FOR m IN(SELECT Ma.coefficientMatiere,N.note INTO moyenne_coefficient, moyenne_note FROM Modules M, Matieres Ma, Etudiants E, Notes N WHERE M.idModule = Ma.idModule AND Ma.idMatiere = N.idMatiere AND N.idEtudiant = E.idEtudiant AND E.idEtudiant = p_etudiant AND M.idModule = p_idModule) LOOP moyenne := moyenne + (moyenne_coefficient*moyenne_note); END LOOP; moyenne := moyenne / moyenne_coefficient; RETURN (moyenne); END;
Ensuite j'exécute ma fonction :
Mais la, rien ne se produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT moyenneEtudiantModule('E6', 'M112') FROM DUAL;
Normalement la moyenne devrait s'afficher, mais rien ne se passe. Ma requête SQL m'affiche bien 2 colonnes avec les notes des matières et leurs coefficients donc je ne vois pas d'où peut venir le problème.
Merci d'avance.
Partager