Problème d'affichage d'une fonction PL/SQL
Bonjour à tous,
Etant nouveau dans le domaine de la programmation PL/SQL, j'aurais besoin de vos lumières.
Voici mon code :
Code:
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 :
Code:
1 2
| SELECT moyenneEtudiantModule('E6', 'M112')
FROM DUAL; |
Mais la, rien ne se produit.
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.