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)

  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

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, 10h41
  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, 16h21
  3. Réponses: 5
    Dernier message: 20/08/2010, 10h01
  4. Réponses: 3
    Dernier message: 10/09/2009, 12h35
  5. Réponses: 6
    Dernier message: 09/01/2008, 11h56

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