{Oracle} check non exécuter

Résolu
haroun- Messages postés 762 Statut Membre -  
haroun- Messages postés 762 Statut Membre -
Bonjour,
je voulais ajouter une contrainte sur un attribut d'une table de la base de donnée que j'ai crée
j'ai utiliser la méthode suivante :

alter table demande
add constraint check_n check (n is not null);

cette instruction a été bien exécuter et la constraint a été bien crée
sauf que lorsque je vois dans mon navigateur d'objets je trouves que l'attribut n peut toujours avoir la valeur NULL
es ce que quelqu'un pourrais me dire pourquoi ce check n'as pas été appliqué svp
merci
Configuration: Windows XP
Firefox 3.0.16

5 réponses

  1. chuka Messages postés 980 Statut Membre 379
     
    Tu as essayé de faire un insert avec une valeur null sur cette colonne?
    Si oui quel en est le resultat??
    0
  2. haroun- Messages postés 762 Statut Membre 3
     
    bonjour
    je ne suis pas arrivé au stade d'insertion de donnée
    mais ce qui m'étonne pour l'instant c'est que l'attribut est défini comme étant nullable malgré que j'ai fait un check is not null apres la création de la table
    comment peut on corrigé ça ?
    merci
    0
  3. chuka Messages postés 980 Statut Membre 379
     
    Salut,
    ben en fait je pense que cela est logique:
    Etant donné que tu n'as pas mis comme propriété sur la colonne not null, mais une contrainte...le type est donc a priori nullable....
    C'est une fois que l'insert,update va etre effectué que la contrainte va etre verifiée, et donc normallement rejeté si tu mets une valeur null....
    0
  4. haroun- Messages postés 762 Statut Membre 3
     
    ok
    encore une petite chose
    enfin pas trop quand même
    l'attribut sur le quel j'ai fait le check après la création des tables fait référence a un attribut d'une autre table par une clé étrangère
    doit je alors faire un check is not NULL sur la clé primaire pour que les deux tables soit toujours en 'relation'
    a ce que je sais
    l'attribut d'un clé primaire et l'attribut d'une clé étrangère doivent avoir le même type
    es ce que ils doivent avoir aussi les mêmes constraint check
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chuka Messages postés 980 Statut Membre 379
     
    Si ton champs est une clé primaire, il ne peut etre null!!
    Mais dans ce cas dans la table 'fille' où la clé est une clé etrangere ne met pas de contraintes null sur cet clé mais plutot une contrainte sur clé etrangere...
    http://www.dba-oracle.com/art_builder_ri.htm
    0
    1. haroun- Messages postés 762 Statut Membre 3
       
      merci Chuka
      0