s'il vous plaît jeter un oeil à la table suivante:postgres: vérification de la contrainte et les valeurs nulles
name | x | y
---------+-----+------
foo | 3 | 5
bar | 45 | 99
foobar | 88 |
barfoo | 0 | 45
Je veux ajouter une CHECK contrainte (y> x), mais ce sera évidemment l'échec du fait qu'elle est violée par la rangée 'foobar'. Comment créer une contrainte qui indique: check (y> x), mais seulement si y n'est pas null?
Ceci est tout simplement pas nécessaire. Citation du manuel de PostgreSQL: * Il est à noter qu'une contrainte de vérification est satisfaite si l'expression de vérification est évaluée à true ou à la valeur null. Puisque la plupart des expressions seront évaluées à la valeur nulle si un opérande est nul, elles n'empêcheront pas les valeurs nulles dans les colonnes contraintes. * (Http://www.postgresql.org/docs/8.1/static/ddl-constraints.html) –