Bonjour,
Tout est dans le titre !.
Je vous explique j'ai élaboré une petite requête me permettant de récupérer : N°étudiant et Moyenne-G !.
La problématique : Et que je souhaiterais, à l'aide d'un Curseur glisser ce résultat dans une autre table nommé Classement cette table et composé de 3 champs (Numetud, MoyenneG, Rang).
Cela ne fonctionne pas car je récupére l'erreur suivante :ORA-06550: Ligne 16, colonne 80 :
PLS-00302: Le composant 'RANG' doit être déclaré
ORA-06550: Ligne 16, colonne 80 :
PL/SQL: ORA-00984: un nom de colonne n'est pas autorisé iciPS : Je pense que je dois déclarer une variable Rang (:=) mais ne sais si on peux faire cela dans un curseur, et encore moins comment faire !SET SERVEROUTPUT ON;
DECLARE
CURSOR C_CursRang IS
select numetud, sum(noteglobmat * coefficient) / sum(coefficient) As NoteM
from tpmatiere, tpresultat
where codematiere = codemat
group by numetud
ORDER BY 2 DESC;
l_Result C_CursRang%ROWTYPE;
BEGIN
OPEN C_CursRang;
LOOP
FETCH C_CursRang INTO l_Result;
EXIT WHEN C_CursRang%NOTFOUND;
INSERT INTO TPCLASSEMENT VALUES(l_Result.numetud,l_Result.NoteM,l_Result.Rang);
END LOOP;
DBMS_OUTPUT.PUT_LINE('........Insertion terminés avec succés ! ');
CLOSE C_CursRang;
END;
Merci de votre aide.
Partager