Existe-t-il un moyen de définir une contrainte SQL pour un champ numérique dans lequel la valeur minimale doit être de 1234 et la valeur maximale de 4523?
Syntaxe SQL Server pour la contrainte check
:
create table numbers (
number int not null
check(number >= 1234 and number <= 4523),
...
)
create table numbers (
number int not null,
check(number >= 1234 and number <= 4523),
...
)
create table numbers (
number int not null,
constraint number_range_check
check(number >= 1234 and number <= 4523),
...
)
CREATE TABLE WhatEver
(
...
NumericField INTEGER NOT NULL CHECK(NumericField BETWEEN 1234 AND 4523),
...
);
Notez que "ENTRE ET" fournit une plage incluant les valeurs limites citées.
Si vous utilisez SQL Server, vous souhaitez utiliser une contrainte CHECK comme celle-ci:
CREATE TABLE foo (
someint INT NOT NULL CHECK (someint >= 1234 AND someint <= 4523)
)
Si vous utilisez SQL Server avec SQL Server Management Studio, le moyen le plus pratique d'ajouter une contrainte de vérification consiste à cliquer avec le bouton droit de la souris sur le dossier Contraintes dans la vue d'arborescence (Explorateur d'objets), puis à sélectionner Nouvelle contrainte dans le menu contextuel.
Une fenêtre Vérifier la contrainte apparaît avec une nouvelle contrainte vide nommée CK_tableName *.
Vous pouvez éditer un tel nom proposé et insérer le code de la contrainte de vérification dans le champ Expression.
Ensuite, la nouvelle contrainte apparaît dans le dossier Contrainte (après avoir sélectionné le dossier et cliqué sur l'icône d'actualisation) dans l'Explorateur d'objets. Vous pouvez l'éditer en cliquant dessus, puis en sélectionnant Modifier dans le menu contextuel.