Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --29
- --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 nomJoueur, prenomJoueur, 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(' | ' || RPAD(classementJoueurTournoi(p_idJoueur, p_idTournoi), 2) || ' ' || RPAD(TRANSLATE(UPPER(v_nom), 'É', 'E'), 10) || ' ' || LPAD(TRANSLATE(UPPER(v_pre), 'É', 'E'), 10) || ' ' || LPAD(v_cat, 5) || ' ' || LPAD(v_elo, 5) || ' ' || LPAD(v_lig, 4));
- 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(LPAD(rondeJoueurGrille(p_idJoueur, p_idTournoi, v_partie.numRonde),4));
- END LOOP;
- DBMS_OUTPUT.PUT(' | ' || RPAD(nbPointsJoueurTournoi(p_idJoueur, p_idTournoi), 3) || ' | ' || LPAD(cumulatifJoueurTournoi(p_idJoueur, p_idTournoi), 4) || ' | ' || LPAD(performanceEloJoueurTournoi(p_idJoueur, p_idTournoi), 5) || ' | ');
- DBMS_OUTPUT.PUT_LINE('');
- END;
- --affichageGrilleAmericaine
- CREATE OR REPLACE PROCEDURE affichageGrilleAmericaine(p_idTournoi IN Tournois.idTournoi%TYPE) IS
- BEGIN
- affichageGrilleBord(p_idTournoi);
- 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;
- affichageGrilleBord(p_idTournoi);
- END;
- --affichageGrilleBord
- CREATE OR REPLACE PROCEDURE affichageGrilleBord(p_idTournoi IN Tournois.idTournoi%TYPE) IS
- v_nbRonde NUMBER;
- BEGIN
- DBMS_OUTPUT.PUT('+-------------------------------------------+');
- SELECT nbRondesTournoi INTO v_nbRonde
- FROM Tournois
- WHERE idTournoi = p_idTournoi;
- FOR i IN 1..v_nbRonde
- LOOP
- DBMS_OUTPUT.PUT('----');
- END LOOP;
- DBMS_OUTPUT.PUT_LINE('--+-----+------+-------+');
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement