{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
A voir également:

5 réponses

chuka Messages postés 980 Statut Membre 378
 
Tu as essayé de faire un insert avec une valeur null sur cette colonne?
Si oui quel en est le resultat??
0
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
chuka Messages postés 980 Statut Membre 378
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chuka Messages postés 980 Statut Membre 378
 
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
haroun- Messages postés 762 Statut Membre 3
 
merci Chuka
0