Bonjour
J'ai un problème de constitution de groupe par liste.
FUNCTION test_ronde ( nummatchs in number )RETURN integer IS
-- Utilisation d'un curseur avec un accès fetch qui va lire les enregistrements.
cursor inscmatchs is
select *
from ( select num_appariement,num_licence, rownum rang
from ( select num_appariement,num_licence, rownum ordre
FROM inscrire
ORDER by 1)
WHERE ordre <= (SELECT COUNT(*)/2 FROM inscrire)) a,
( select num_appariement,num_licence,rownum rang
from ( select num_appariement,num_licence, rownum ordre
FROM inscrire
ORDER BY 1)
WHERE ordre > (SELECT COUNT(*)/2 FROM inscrire)) b
where a.rang=b.rang;
rec inscmatchs %rowtype;
nbreronde integer;
begin
nbreronde := 1;
open inscmatchs;
loop
fetch inscmatchs into rec;
exit when inscmatchs %NOTFOUND;
/* Mise à jour de l'appariement dans le fichier Inscrire
qui était à NULL au départ, avec incrémentation de l'appariement
par rapport au classement ELO du joueur.*/
UPDATE dpjouer set num_ronde = nbreronde
where num_licence = rec.num_licence and num_matchs = nummatchs;
nbreronde := nbreronde;
--
end loop;
close inscmatchs;
commit;
end;
Sous SQL cela fonctionne mais sous PL/SQL ce programme me met comme erreur ceci, :
Symbole "ORDER" recontré à la place des symboles suivants :
.),@ with <an indentifer>
Symbole "group inseré avant "ORDER" pour continuer
Ce programme effectue déjà la division d'une liste. Maintenant je dois faire la division de la précédente liste à partir du même principe de ce programme.
Merci de votre réponse
Yesno