SQL CHECKContraintes
Contrainte SQL CHECK
La contrainte CHECK est utilisée pour limiter la plage de valeurs dans une colonne.
Si vous définissez une contrainte CHECK sur une seule colonne, cette colonne n'autorisera que des valeurs spécifiques.
Si vous définissez une contrainte CHECK sur une table, elle peut limiter les valeurs de certaines colonnes en fonction des valeurs d'autres colonnes de la ligne.
Contrainte SQL CHECK sur CREATE TABLE
Le SQL ci-dessous crée une contrainte CHECK sur la colonne "P_Id" lorsque la table "Persons" est créée. La contrainte CHECK spécifie que la colonne "P_Id" ne doit contenir que des entiers supérieurs à 0.
MySQL:
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
SQL Server / Oracle / MS Access:
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Pour nommer une contrainte CHECK et définir une contrainte CHECK sur plusieurs colonnes, utilisez la syntaxe SQL suivante:
MySQL / SQL Server / Oracle / MS Access:
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
Contrainte CHECK SQL sur ALTER TABLE
Lorsque la table a déjà été créée, pour créer une contrainte CHECK sur la colonne "P_Id", utilisez le SQL suivant:
MySQL / SQL Server / Oracle / MS Access:
ADD CHECK (P_Id>0)
Pour nommer une contrainte CHECK et définir une contrainte CHECK sur plusieurs colonnes, utilisez la syntaxe SQL suivante:
MySQL / SQL Server / Oracle / MS Access:
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
Contrainte DROP CHECK
Pour supprimer une contrainte CHECK, utilisez le SQL suivant :
SQL Server / Oracle / MS Access:
DROP CONSTRAINT chk_Person
MySQL:
DROP CHECK chk_Person