Contrainte CHECK
La contrainte CHECK
spécifie la condition que les valeurs placées dans cette colonne doivent satisfaire.Une condition est une expression logique, également appelée prédicat, qui peut renvoyer les valeurs TRUE
, FALSE
, et UNKNOWN
. La condition est satisfaite si le prédicat renvoie TRUE
ou UNKNOWN
(équivalent à NULL
). Si le prédicat renvoie FALSE
, la valeur ne sera pas acceptée.Cette condition est utilisée lors de l’ajout d’une nouvelle ligne à la table (l’opérateur INSERT
) et lors du changement d’une valeur existante d’une colonne de la table (l’opérateur UPDATE
) ainsi que les opérateurs dans lesquels une de ces actions peut se produire (UPDATE OR INSERT
, MERGE
).
Important
|
Lorsque vous utilisez la phrase |
Au niveau de la colonne ou de la table, l’expression dans la phrase CHECK
fait référence à la valeur entrante en utilisant les identifiants de colonne, contrairement aux domaines où la contrainte CHECK
utilise le mot-clé VALUE
à cette fin.
CREATE TABLE PLACES (
...
LAT DECIMAL(9, 6) CHECK (ABS(LAT) <= 90),
LON DECIMAL(9, 6) CHECK (ABS(LON) <= 180),
...
CONSTRAINT CHK_POLES CHECK (ABS(LAT) < 90 OR LON = 0)
);