IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Forms 10g : faire intervenir une vue moyenne et une fonction dans un scipt pl/sql


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 56
    Par défaut Forms 10g : faire intervenir une vue moyenne et une fonction dans un scipt pl/sql
    Bonjour à tous, je vous explique mon probleme:
    J'ai 3 tables :
    etudiant (numetud,nom, prenom, datenaiss, civilite, patronyme, numinsee, adresse)
    inscription (numetud, codmod,dainsc,numtd)
    resultat (numetud,codmod,codexam,note)

    Je travail avec l'application Forms 10g et la table resultat contient 2 cases (élément texte) qui sont moyenne et mention.

    J'ai créée une vue moyenne qui m'affiche la moyenne generale d'un etudiant grace à son numetud. Elle marche correctement est la moyenne s'affiche dans la colonne moy. Voici la vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Create view MOYENNE as select e.numetud, e.nom, r.codmod, 
    round(avg(r.note),2) moy from etudiant e, resultat r 
    where e.numetud = r.numetud group by e.numetud, e.nom;
    J'ai créée la fonction mention d'un etudiant. Voici la fonction qui marche correctement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    create or replace function mention (v_numetud number, v_codmod number) return varchar2 is 
     
    v_moyenne decimal;
     
    begin
     
    select round(avg(r.note),2) as moy into v_moyenne from resultat r where r.numetud = v_numetud
    and r.codmod = v_codmod group by r.numetud, r.codmod;	
     
    	if v_moyenne < 10 then
    		return('Ajourne');
    	end if;
     
    	if  v_moyenne >= 10 and v_moyenne < 12 then
    		return('Passable');
    	end if;
     
    	if  v_moyenne >= 12 and v_moyenne < 14 then
    		return('Assez bien');
    	end if;
     
    	if  v_moyenne >= 14 and v_moyenne < 16 then
    		return('Bien');
    	end if;
     
    	if  v_moyenne >= 16 and v_moyenne < 18 then
    		return('Tres bien');
    	end if;
     
    	if  v_moyenne >= 18 and v_moyenne < 20 then
    		return('Excellent');
    	end if;
     
    end;
    /

    Mon probleme est le suivant: j'ai créé un bouton "resultat de l'etudiant" et je veux qu'en inserant le numetud de la table resultat et en clickan sur le bouton j'obtienne la suite des infos sur l'etudiant (càdire codmod,codexam,note) ainsi que la moyenne et la mention qui saffiche automatiquement. Dans le code PL/SQL du bouton j'ai mis le script suivant qu'il faut completer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        begin
    select numetud, codmod, codexam, note into :resultat.numetud, :resultat.codmod, :resultat.codexam, :resultat.note
    from resultat where numetud = :resultat.numetud;      
    
    
    -- Par la suite je ne sais pas quel procédé utiliser pour faire intervenir la 
    -- moyenne et mention.
    
        exception
    when no_data_found then
    message('Invalid student id: please enter valid id.');
    raise form_trigger_failure;
    end;
    Quequ'un à t-il une solution svp ?

    Merci pour votre aide.

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est du Forms, merci d'utiliser le sous forum Forms plutôt que le pl/sql.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 56
    Par défaut
    OK c'est fait. Merci

Discussions similaires

  1. Comment faire pour qu'une vue renvoie toujours une ligne
    Par jfouche dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2009, 10h01
  2. Réponses: 2
    Dernier message: 15/11/2006, 19h57
  3. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  4. [vues] creation d'une vue combinant 2 colonnes de la table
    Par gloogloo dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/06/2005, 14h16
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo