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

SQL Oracle Discussion :

Crée une clé etrangère sur un utilisateur.


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Par défaut Crée une clé etrangère sur un utilisateur.
    Bonjour à tous.
    Je doit créer une base sql qui contiendra le contenu d'un forum.
    Chaque utilisateur possèdent un compte sql.

    Je veut donc créer une table qui contient des informations sur les utilisateurs et pour que sa ne soit pas redondant je décide de ne pas remettre le NOM dans ma nouvelle table.
    Mais dans cette table il y a un champs qui doit référencer à l'id du compte utilisateur, mais je ne le trouve pas, je ne sais pas quelle table elle correspond.
    Merci de bien vouloir m'éclairer

  2. #2
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    Je sais pas si j'ai bien compris ta question... mais tu as la vue dba_users qui contient les infos sur les utilisateurs. Tu dois etre connecté en sys pour y avoir accès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select user_id, username
    from dba_users;
    Pour avoir le nom de l'user connecté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select user
    from dual;
    à partir de là tu peux utiliser la vue dba_users pour avoir l'id.

    P.S: Si j'ai compris ta question, ton titre n'a rien a voir avec le contenu de ton post. "Recuperer id d'un user de la base" aurait été mieux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Par défaut
    Nikel, merci beaucoup, et oui j'ai mal formuler ma question.
    Bonne fin de journée.

  4. #4
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut le tag resolu
    C'est bien essayé mais c'est pas comme cela... t'as mis "resolu" dans le titre de ton post.
    Tu devrais regarder en bas, juste à coté du bouton "ajouter une reponse" il doit avoir un bouton "résolu" à droite. Et tu cliques dessus.

    a+++++

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Par défaut
    Je n'arrive pas à crée ma FK, je doit surement louper encore un truck.

    voici ma commandes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE utilisateur  (
      idutilisateur NUMBER CONSTRAINT PK_utilisateur PRIMARY KEY,
      dernierevisite DATE,  
      anniversaire DATE,  
      email varchar(50) ,
      CONSTRAINT FK_idutilisateur foreign KEY(idutilisateur) REFERENCES dba_users(USER_ID)
    );
     
    ORA-00942: Table ou vue inexistante

  6. #6
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    Ton erreur vient peut être du fait que la vue DBA_USERS appartient à sys, tu devrais mettre SYS.DBA_USERS.

    Cependant, je ne pense pas que ce soit possible ainsi (les experts du forum vont me corriger si je me trompe), car DBA_USERS est une vue système et la contrainte FOREIGN KEY est associée à une clé primaire d'une table ou d'une vue utilisateur.

    Je crois que ç'aurait été possible si la vue avait été crée par toi même avec la clause CREATE VIEW ... bref il y'a une syntaxe pour créer une vue avec clé primaire.

    Tu pourrais peut être mettre l'username ou l'id de l'user directement dans ta table utilisateur. Par la suite, si tu as besoin de plus d'informations sur l'user tu peux interroger la vue DBA_USERS.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/12/2007, 10h42
  2. Réponses: 25
    Dernier message: 15/07/2007, 12h41
  3. Réponses: 1
    Dernier message: 29/06/2007, 02h26
  4. crée une action sur un JMenuItem
    Par kespy13 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 26/03/2007, 12h50
  5. Réponses: 6
    Dernier message: 15/03/2007, 12h55

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