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

Langage SQL Discussion :

Vérifier que la valeur d'un attribut n'est pas dans une autre table


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Vérifier que la valeur d'un attribut n'est pas dans une autre table
    Bonjour,
    après une recherche infructueuse, je me permet de vous soumettre une petite question:

    Dans ma base, j'ai une table PROFESSEURS et une table STAGIAIRES. Chacune d'elle hérite d'un attribut NUMÉRO qui vient d'une table PERSONNES.
    J'ai donc la contrainte d'intégrité suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONSTRAINT ce_stagiaire FOREIGN KEY(NUM_STAGIAIRE) REFERENCES PERSONNES(NUM_PERSONNES)
    Mais comment faire pour que empecher l'ajout d'un stagiaire si cette personne est déjà un stagiaire?

    J'ai essayé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONSTRAINT ck_stagiaire CHECK num_stagiaire NOT IN PROFESSEURS.NUM_STAGIAIRE;
    Mais ça ne marche pas ... vous auriez une idée?

  2. #2
    Membre actif Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Points : 236
    Points
    236
    Par défaut
    Je pense que tu peux faire cette condition avant saisie d'un stagiaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select num_personne
      from personne
     where num_personne not in (select n_stagiaire from stagiaire)
    Je fume du thé et je reste éveillé, le cauchemar continue.

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Salem



    je ne trouve que la solution de le_dilem;donc tu ne peux pas faire l'insertion directement pas SQL mais tu peux faire un script.


    Bon courage
    Zoheir BOUSSAFI
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

Discussions similaires

  1. Trouver valeurs d'une table n'existant pas dans une autre table
    Par aliasjcdenton dans le forum Langage SQL
    Réponses: 7
    Dernier message: 13/10/2011, 11h41
  2. [MySQL] Vérifier que l'utilisateur et l'email n'est pas prise
    Par Invité dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 28/02/2011, 17h21
  3. Réponses: 5
    Dernier message: 20/08/2010, 11h01
  4. Réponses: 3
    Dernier message: 10/09/2009, 13h35
  5. Réponses: 6
    Dernier message: 09/01/2008, 12h56

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