Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1652 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Bloc PL/SQL pour traduire note scolaire us en note fr

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bloc PL/SQL pour traduire note scolaire us en note fr

n°1201546
sbab
Posté le 17-09-2005 à 14:32:47  profilanswer
 

Bonjour,  
Je dois écrire un bloc PL/SQL permettant de faire correspondre la notation américaine (A, B, C…) avec une notation française (nombre compris entre 0 et 20). Le bloc permettra d’afficher les notes « françaises » de tous les étudiants.Les notes sont les suivantes:  
A+ 20 A 19 A- 18 B+ 16,5 B 15 B- 13,5 C+ 12 C 10,5 C- 9  
 
D+ 7,5 D 6 D- 4,5 F+ 3 F 1,5 F- 0  
 
Voici ce que j'ai écrit, mes ca ne marche pas... vu que l'exo doit etre rendu assez rapidement, si quelqu'un de bonne volonté pouvait me donner un coup de main, ca serait sympa.  
 
SET SERVEROUTPUT ON  
DECLARE  
note_us VARCHAR2(4) ;  
note_fr VARCHAR2(4) ;  
Affiche_note_usfr VARCHAR2(30);  
Affichenom VARCHAR2(30);  
Afficheprenom VARCHAR2(30);  
Afficheuv VARCHAR2(30);  
CURSOR cr_note IS  
SELECT note  
FROM Etudiant_cours  
ORDER BY note;  
BEGIN  
OPEN cr_note;  
LOOP  
FETCH cr_note  
INTO note;  
EXIT WHEN cr_note%NOTFOUND;  
Affiche_note_usfr := ''|| DECODE(note,'A+','20','A','19','A-','18','B+','16,5','B','15','B-','13,5','C+','12','C','10,5','C-','9','D+','7,5','D','6','D-','4,5','F+','3','F','1,5','F-','0')  
= WHERE ETUDIANT_CODE = ( SELECT ETUDIANT_CODE FROM ETUDIANT  
WHERE nom = 'ANASTATIA')||'';  
Affichenom := ''||(SELECT nom FROM etudiant WHERE nom = 'ANASTATIA')|| '';  
Afficheprenom := ''||(SELECT prenom FROM etudiant WHERE prenom = 'ANNA')|| '';  
Afficheuv := ''||(SELECT nom FROM etudiant WHERE nom = 'ANASTATIA')|| '';  
dbms_output.put_line ( Affichenom ||' '|| Afficheprenom ||' '|| Affiche_note_usfr || Afficheuv);  
END LOOP;  
CLOSE cr_note;  
END;  
/  
 
Merci

mood
Publicité
Posté le 17-09-2005 à 14:32:47  profilanswer
 

n°1201551
Beegee
Posté le 17-09-2005 à 14:46:06  profilanswer
 

C'est du charabia ton code ...
 
Tu boucles sur ton curseur, et tu n'affiches que la meilleure note !
 
De plus, il faudrait que tu fasses ton DECODE dans le curseur.
Et enfin, fais les jointures nécessaires afin de récupérer toutes les infos à afficher dans le curseur.
 
PS: on donne juste des conseils ici, on va pas te résoudre ton exercice ;)

n°1201553
sbab
Posté le 17-09-2005 à 14:52:30  profilanswer
 

Merci pour ces infos...  
N'ayant jamais fais de bloc je suis un peu perdu, mais puisque c du charabia, je vais le reprendre.
Merci pour ces conseils, je n'en attendais pas moins (et je n'ai pas envie qu'on me fasse mon exercice).
 

Beegee a écrit :

C'est du charabia ton code ...
 
Tu boucles sur ton curseur, et tu n'affiches que la meilleure note !
 
De plus, il faudrait que tu fasses ton DECODE dans le curseur.
Et enfin, fais les jointures nécessaires afin de récupérer toutes les infos à afficher dans le curseur.
 
PS: on donne juste des conseils ici, on va pas te résoudre ton exercice ;)



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Bloc PL/SQL pour traduire note scolaire us en note fr

 

Sujets relatifs
(résolu) [C] interfacer SQL avec du CPHP et MS SQL
Effectuer une requête SQL en une ligneProblème de connection à SQL Server depuis ASP.NET
aide SQL/PRO*Ccreation de bloc avec scrollbar
[SQL Server] Procédure stockée trop longueAppel d'un script SQL dans un script SQL
[SQL] probleme insert basic avec sequencesSQL Server : Variable du type d'un champ de la base
Plus de sujets relatifs à : Bloc PL/SQL pour traduire note scolaire us en note fr


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR