Créer des contraintes de validation
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Vous pouvez créer une contrainte de validation dans une table pour spécifier les valeurs de données admises dans une ou plusieurs colonnes dans SQL Server à l'aide de SQL Server Management Studio ou de TransactSQL. Pour plus d’informations sur l’ajout de contraintes de colonne, consultez ALTER TABLE column_constraint.
Pour plus d’informations, consultez Contraintes uniques et contraintes de validation.
Notes
Pour interroger des contraintes de validation existantes, utilisez la vue de catalogue système sys.check_constraints.
autorisations
Nécessite les autorisations ALTER
sur la table.
Utiliser SQL Server Management Studio
Dans l’Explorateur d’objets, développez la table à laquelle vous souhaitez ajouter une contrainte de validation, cliquez avec le bouton droit sur Contraintes, puis sélectionnez Nouvelle contrainte.
Dans la boîte de dialogue Contraintes de validation, sélectionnez le champ Expression, puis les points de suspension (...).
Dans la boîte de dialogue Expression de contrainte de validation , tapez l'expression SQL de la contrainte de validation. Par exemple, pour limiter les entrées dans la colonne
SellEndDate
de la tableProduct
à une valeur supérieure ou égale à la date de la colonneSellStartDate
ou à la valeurNULL
, tapez :SellEndDate >= SellStartDate
Ou, pour exiger que les entrées de la colonne
zip
comportent 5 chiffres, tapez :zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Remarque
Veillez à placer toutes les valeurs de contrainte non numériques entre des guillemets simples (
'
).Cliquez sur OK.
Dans la catégorie Identity , vous pouvez modifier le nom de la contrainte de validation et ajouter une description (propriété étendue) pour la contrainte.
Dans la catégorie Concepteur de tables , vous pouvez définir le moment où la contrainte est appliquée.
Action Sélectionnez Yes
pour les options suivantesTester la contrainte sur les données qui existaient avant d'avoir créé la contrainte Vérifier les données existantes à la création ou à l'activation Appliquer la contrainte lorsqu'une opération de réplication se produit sur cette table Appliquer la réplication Appliquer la contrainte lorsqu'une ligne de cette table est insérée ou mise à jour Appliquer INSERTs et UPDATEs Sélectionnez Fermer.
Utiliser Transact-SQL
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter.
Tout d’abord, créez la contrainte.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO
Pour tester la contrainte, ajoutez d’abord les valeurs qui passent la contrainte de validation.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
Essayez ensuite d’ajouter des valeurs qui font échouer la contrainte de validation.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);
Contenu connexe
- ALTER TABLE (Transact-SQL)
- ALTER TABLE column_constraint (Transact-SQL)
- Contraintes uniques et contraintes de validation
- Propriétés de la colonne (page Général)
- Ajouter des colonnes à une table (moteur de base de données)
- Spécifier des valeurs par défaut pour les colonnes
- Créer des contraintes uniques