Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --rondeJoueurGrille
- CREATE OR REPLACE FUNCTION rondeJoueurGrille(p_idJoueur IN Joueurs.idJoueur%TYPE, p_idTournoi IN Tournois.idTournoi%TYPE, p_numRonde IN Parties.numRonde%TYPE) RETURN VARCHAR IS
- v_resul VARCHAR(1);
- v_adv NUMBER;
- v_col VARCHAR(1);
- BEGIN
- IF resultatJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde) = 1 THEN
- v_resul := '+';
- ELSIF resultatJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde) = 0 THEN
- v_resul := '-';
- ELSE
- v_resul := '=';
- END IF;
- v_adv := classementJoueurTournoi(adversaireJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde), p_idTournoi);
- v_col := couleurJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde);
- RETURN v_resul||v_adv||v_col;
- END;
- --afficheLigneGrille
- CREATE OR REPLACE PROCEDURE afficheLigneGrille(p_idJoueur IN Joueurs.idJoueur%TYPE, p_idTournoi IN Tournois.idTournoi%TYPE) IS
- v_nom Joueurs.nomJoueur%TYPE;
- v_pre Joueurs.prenomJoueur%TYPE;
- v_cat VARCHAR(4);
- v_elo Joueurs.eloJoueur%TYPE;
- v_lig Clubs.idLigue%TYPE;
- BEGIN
- SELECT LPAD(nomJoueur, 10, ' '), RPAD(prenomJoueur, 10, ' '), categorieJoueur(dateNaissanceJoueur, sexeJoueur), eloJoueur, idLigue
- INTO v_nom, v_pre, v_cat, v_elo, v_lig
- FROM Joueurs j
- JOIN Clubs c ON j.idClub=c.idClub
- WHERE idJoueur = p_idJoueur;
- DBMS_OUTPUT.PUT(' | ' || classementJoueurTournoi(p_idJoueur, p_idTournoi) || ' ' || TRANSLATE(UPPER(v_nom), 'É', 'E') || ' ' || TRANSLATE(UPPER(v_pre), 'É', 'E') || ' ' || v_cat || ' ' || v_elo || ' ' || v_lig);
- DBMS_OUTPUT.PUT(' | ');
- FOR v_partie IN (SELECT * FROM Parties WHERE idTournoi = p_idTournoi AND (idJoueurBlancs = p_idJoueur OR idJoueurNoirs = p_idJoueur))
- LOOP
- DBMS_OUTPUT.PUT(rondeJoueurGrille(p_idJoueur, p_idTournoi, v_partie.numRonde));
- END LOOP;
- DBMS_OUTPUT.PUT(' | ' || nbPointsJoueurTournoi(p_idJoueur, p_idTournoi) || ' | ' || cumulatifJoueurTournoi(p_idJoueur, p_idTournoi) || ' | ' || performanceEloJoueurTournoi(p_idJoueur, p_idTournoi));
- DBMS_OUTPUT.PUT_LINE('');
- END;
- --affichageGrilleAmericaine
- CREATE OR REPLACE PROCEDURE affichageGrilleAmericaine(p_idTournoi IN Tournois.idTournoi%TYPE) IS
- BEGIN
- FOR v_joueur IN (SELECT DISTINCT idJoueur, classementJoueurTournoi(idJoueur, idTournoi) AS classment
- FROM Joueurs j
- JOIN Parties p ON idJoueurBlancs=idJoueur OR idJoueurNoirs=idJoueur
- WHERE idTournoi = p_idTournoi
- ORDER BY classment)
- LOOP
- afficheLigneGrille(v_joueur.idJoueur, p_idTournoi);
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment