Fallstar

Untitled

May 28th, 2015
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.42 KB | None | 0 0
  1. --rondeJoueurGrille
  2. 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
  3.     v_resul VARCHAR(1);
  4.     v_adv NUMBER;
  5.     v_col VARCHAR(1);
  6. BEGIN
  7.  
  8.     IF resultatJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde) = 1 THEN
  9.         v_resul := '+';
  10.     ELSIF resultatJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde) = 0 THEN
  11.         v_resul := '-';
  12.     ELSE
  13.         v_resul := '=';
  14.     END IF;
  15.    
  16.     v_adv := classementJoueurTournoi(adversaireJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde), p_idTournoi);
  17.     v_col := couleurJoueurRonde(p_idJoueur, p_idTournoi, p_numRonde);
  18.    
  19.     RETURN v_resul||v_adv||v_col;
  20. END;
  21.    
  22. --afficheLigneGrille
  23. CREATE OR REPLACE PROCEDURE afficheLigneGrille(p_idJoueur IN Joueurs.idJoueur%TYPE, p_idTournoi IN Tournois.idTournoi%TYPE) IS
  24.     v_nom Joueurs.nomJoueur%TYPE;
  25.     v_pre Joueurs.prenomJoueur%TYPE;
  26.     v_cat VARCHAR(4);
  27.     v_elo Joueurs.eloJoueur%TYPE;
  28.     v_lig Clubs.idLigue%TYPE;
  29. BEGIN
  30.  
  31.     SELECT LPAD(nomJoueur, 10, ' '), RPAD(prenomJoueur, 10, ' '), categorieJoueur(dateNaissanceJoueur, sexeJoueur), eloJoueur, idLigue
  32.     INTO v_nom, v_pre, v_cat, v_elo, v_lig
  33.     FROM Joueurs j
  34.     JOIN Clubs c ON j.idClub=c.idClub
  35.     WHERE idJoueur = p_idJoueur;
  36.  
  37.     DBMS_OUTPUT.PUT(' | ' || classementJoueurTournoi(p_idJoueur, p_idTournoi) || ' ' || TRANSLATE(UPPER(v_nom), 'É', 'E') || ' ' || TRANSLATE(UPPER(v_pre), 'É', 'E') || ' ' || v_cat || ' ' || v_elo || ' ' || v_lig);
  38.     DBMS_OUTPUT.PUT(' | ');
  39.    
  40.     FOR v_partie IN (SELECT * FROM Parties WHERE idTournoi = p_idTournoi AND (idJoueurBlancs = p_idJoueur OR idJoueurNoirs = p_idJoueur))
  41.     LOOP
  42.         DBMS_OUTPUT.PUT(rondeJoueurGrille(p_idJoueur, p_idTournoi, v_partie.numRonde));
  43.        
  44.     END LOOP;
  45.    
  46.     DBMS_OUTPUT.PUT(' | ' || nbPointsJoueurTournoi(p_idJoueur, p_idTournoi) || ' | ' || cumulatifJoueurTournoi(p_idJoueur, p_idTournoi) || ' | ' || performanceEloJoueurTournoi(p_idJoueur, p_idTournoi));
  47.    
  48.    
  49.    
  50.     DBMS_OUTPUT.PUT_LINE('');
  51. END;   
  52.  
  53.  
  54. --affichageGrilleAmericaine
  55. CREATE OR REPLACE PROCEDURE affichageGrilleAmericaine(p_idTournoi IN Tournois.idTournoi%TYPE) IS
  56. BEGIN
  57.     FOR v_joueur IN (SELECT DISTINCT idJoueur, classementJoueurTournoi(idJoueur, idTournoi) AS classment
  58.             FROM Joueurs j
  59.             JOIN Parties p ON idJoueurBlancs=idJoueur OR idJoueurNoirs=idJoueur
  60.             WHERE idTournoi = p_idTournoi
  61.             ORDER BY classment)
  62.     LOOP
  63.         afficheLigneGrille(v_joueur.idJoueur, p_idTournoi);
  64.     END LOOP;
  65. END;
Advertisement
Add Comment
Please, Sign In to add comment