PL/SQL

legolas45 Messages postés 6 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 juin 2008 - 7 janv. 2008 à 17:31
KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011 - 15 janv. 2008 à 13:33
Salut a tous, bon voila j'ai un probleme avec un exercice de pl/sql. Je n'arrive a rien avec ca. ALors si vous pouvez m'aidez.
Voici les questions:
Exercice 2 :

Créez en
PL/SQL une procédure stockée qui permet d’afficher les informations suivantes
pour chaque activité de l’association :

<li class="MsoNormal" style="text-align: justify;">Nombre d’inscrits pour chaque année</li><li class="MsoNormal" style="text-align: justify;">Moyenne de l’age des adhérents inscrits </li><li class="MsoNormal" style="text-align: justify;">Nombre d’animateurs ayant animé l’activité depuis
la création de l’association</li>

Si vous le
souhaitez, vous pouvez décomposer le travail à réaliser au sein de différentes
procédures.



Exercice 3 :

Créer en
PL/SQL une procédure stockée qui permet d’afficher à l’écran les informations
de chaque adhérent en indiquant pour chaque année le montant de leur cotisation
et le nombre d’activités auxquelles il est inscrit.

Info complementaire: Voici ce que j'ai fait pour les tables a creer
create table Adherent(NumAdh Number(4), Nom Varchar2(30), Prenom VarChar2(30),
            Adresse Varchar2(30), DateNais Date);

create table Activite (NumAct Number(2), Intitule Varchar2(20), AgeRequis Number(2), Theme Varchar2(20));

create table Intervenant(NumInter Number(3), Nom Varchar2(30), Prenom Varchar2(30),
               Adresse Varchar2(30));

create table Anime(NumInter Number(3), NumAct Number(2), AnneeAnime Number(4));

create table Participe(NumAdh Number(4), NumAct Number(2), AnneeParticipe Number(4));

J'ai fait les autres exercices mais la je seche totalement.

Merci d'avance

3 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
7 janv. 2008 à 17:46
Et quel est le point qui te pose un problème exactement ?

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
legolas45 Messages postés 6 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 juin 2008
7 janv. 2008 à 18:03
set serveroutput on
create or replace trigger nomquejedonne

declare

// a partir de la je me debrouille mais avant je vois pas coment faire
begin
select
where
end;
/
0
KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011
15 janv. 2008 à 13:33
    Bonjour,
Si j'ai bien compris ton problème est de trouver les bonnes requêtes. Bon essayons pour la deuxième question.
1. Nombre d'inscrit pour chaque année.
 Déjà, là j'aimerais savoir vu que tu as deux tables Anime et Participe, est ce qu'un adhérent pourra participer et pas animer et vice versa? Sinon si chaque participant est obligé de participer à une activité, dans ce cas il suffira de parcourir la table Participe comme suit:
select anneeParticipe, count(*) As nombreParticipant from Participe group by anneParticipe

2. Moyenne de l'âge des adhérents inscrits:
Ici j'ai un doute pour la fonction year (à revoir dans la doc) sinon ca sera du style:
select avg((to_date(sysdate, 'dd-mm-rrrr') - To_date(datenaissance)) from adherent
Bon à vérifier, mais le principe est quelque part ici, surtout que t'as pas une propriété de type age sinon ca allait donner select avg(age) from adherent 

3.Nombre d'animateurs ayant animé l'activité depuis la création de l'association
Alors là j'aimerais bien savoir l'association c'est quoi sa date de création ? :)
 .. supposons que c'est 2006.
tu feras un:
select count(*) from anime xhere AnneeAnim < 2006

Et là, tu peux continuer à faire l'exercice, essaie de décomposer ce qui est demander, quelle valeur est demandée? quelle est la condtion? Quelle table pourra m'aider? comme ça tu trouveras facilement la solution à ton problème

Kenza
0
Rejoignez-nous