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

Administration Oracle Discussion :

pb avec l'héritage


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 45
    Points
    45
    Par défaut pb avec l'héritage
    Bonsoir
    je travail sur une Base objet avec Oracle 10g, et dans mon Diag Classe j'ai 2 classe (ensiegnant et etudiant) qui héritent de la classe Abonne, donc j'ai creer 2 table(ensiegnant et etudiant) qui hérite de la table Abonne avec le mot clé UNDER comme suit:

    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
    CREATE OR REPLACE TYPE abonneType AS OBJECT
    (codeAbonne NUMBER(20),
     nomAb VARCHAR2(20)
    )NOT FINAL   //creation de type pere AbonneType
     
    CREATE OR REPLACE TYPE profType UNDER abonneType
    (matriprof VARCHAR2(20),
     departprof VARCHAR2(20)
    )// type prof ou ensiegnant(le meme) qui hérite de abonne
    CREATE OR REPLACE TYPE etudiantType UNDER abonneType
    (matriEtud VARCHAR2(20),
     classeEtud VARCHAR2(20)
    )
    CREATE TABLE Prof OF profType
    (CONSTRAINT Prof_codeAbonne_pk PRIMARY KEY(codeAbonne))
    / // table prof
    CREATE TABLE Etudiant OF etudiantType
    (CONSTRAINT  Etudiant_codeAbonne_pk PRIMARY KEY(codeAbonne))
    /
    ici j'ai pas creé une table pour AbonneType pasque j'ai pas des enregestrements pour ça.
    pour les tables prof et etudiant ont les memes clé primere(codeAbonne) elles héritent de Type AbonneType
    donc je voudrai ecrire une requette pour recuperer les profs et les etudiants par un codeAbonne connu comme par Exemple l'abonne(prof ou etudiant) qui a le codeAbonne 5, ici je sais pas est ce que je fait SELECT from Etudiant ou Prof pasque je sais pas ce ou cette Abonne est ce que etudiant ou prof. ce ca
    j'ai pensé creer une table Abonne et fait les enregstrement apartir d'elle mais je trouve qu'elle peut pas contenir le reste des attributs(Mat....)
    Merçu d'avance

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    tu as deux tables, il te faut donc une UNION

    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
     
    insert into prof values (1,'JO','ABC','0');
     
    insert into etudiant values (2,'JACK','DEF','9');
     
    insert into etudiant values (5,'JUDITH','GHI','X');
     
    select type,nomab from (
      select 'PROF' type,codeabonne,nomab from prof 
      union all 
      select 'ETUDIANT',codeabonne,nomab from etudiant) 
    where codeabonne=5;
     
    TYPE     NOMAB
    -------- --------------------
    ETUDIANT JUDITH

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 52
    Points : 45
    Points
    45
    Par défaut excelent
    Bonsoir
    ca marché bien ...
    Merçu sur votre aide

    a la prochaine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Exceptionnelle avec l'hritage
    Par abda1000 dans le forum Oracle
    Réponses: 4
    Dernier message: 24/01/2007, 10h52
  2. Réponses: 19
    Dernier message: 13/07/2006, 13h35
  3. [VC++] Problème avec un héritage
    Par Freakazoid dans le forum Visual C++
    Réponses: 7
    Dernier message: 28/11/2005, 08h35
  4. [vb.net][form] probleme avec l'héritage
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/10/2005, 16h01
  5. [DEBUTANT] Probléme avec l'héritage
    Par BRAUKRIS dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 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