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 :

Question clé étrangère + Null


Sujet :

Langage SQL

  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut Question clé étrangère + Null
    Bonjour,

    Je souhaiterais savoir s'il est possible de définir une clé étrangère nullable tout en bénéficiant de l'intégrité référentielle.

    Dans le cas où une valeur de clé est définie (non Null) mais n'existe pas dans la table référencée, l'intégrité lève une erreur.
    Dans le cas où il n'y pas de valeur (Null), l'intégrité ne lève pas d'erreur.

    Ainsi pouvoir avoir des données suivant cet exemple :

    T1 = {Id_T1, ...}
    T2 = {Id_T2, #Id_T1, ...}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    T1
    
    Id_T1
    1
    2
    3
    4
    
    T2
    
    Id_T2	Id_T1
    1	1
    2	1
    3	NULL

    Je pensais que ça fonctionnait comme celà mais j'ai essayé de mettre NULL dans la colonne et l'intégrité me jette. Je suis sur une base Sql Server 2005.

  2. #2
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 258
    Billets dans le blog
    16
    Par défaut
    Merci de nous présenter l'instruction CREATE TABLE T2 ainsi que la requête qui provoque le rejet.

    En tout état de cause, pour que la colonne #Id_T1 puisse prendre la valeur nulle, elle ne doit pas être définie avec la clause NOT NULL.

Discussions similaires

  1. Clé étrangère à null
    Par grunk dans le forum MySQL
    Réponses: 5
    Dernier message: 22/01/2010, 14h10
  2. Clés étrangères nulles
    Par tofito dans le forum Requêtes
    Réponses: 5
    Dernier message: 03/09/2009, 06h42
  3. Question pour un null
    Par bipcpp dans le forum OpenGL
    Réponses: 17
    Dernier message: 21/10/2008, 20h54
  4. Clé étrangère null
    Par Alec6 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 20/03/2008, 09h35

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