Créer des contraintes de validation
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 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Sécurité
Pour créer une nouvelle contrainte de validation à l'aide de :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Sécurité
Autorisations
Requiert des autorisations ALTER sur la table.
[Top]
Utilisation de SQL Server Management Studio
Pour créer une nouvelle contrainte de validation
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 cliquez sur Nouvelle contrainte.
Dans la boîte de dialogue Vérifier les contraintes, cliquez dans le champ Expression puis cliquez sur le bouton de sélection (…).
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 table Product à une valeur supérieure ou égale à la date de la colonne SellStartDate ou à la valeur NULL, tapez :
SellEndDate >= SellStartDate OR SellEndDate IS NULL
Ou, pour exiger que les entrées dans 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 Identité, 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.
S'applique à :
Sélectionnez Oui dans les champs suivants :
Tester 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 pour INSERT et UPDATE
Cliquez sur Fermer.
[Top]
Utilisation de Transact-SQL
Pour créer une nouvelle contrainte de validation
Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
ALTER TABLE dbo.DocExc ADD ColumnD int NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (ColumnD > 10 AND ColumnD < 50); GO -- Adding values that will pass the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (49); GO -- Adding values that will fail the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (55); GO
Pour plus d'informations, consultez ALTER TABLE (Transact-SQL).
[Top]