Partager via


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.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Utilisation de SQL Server Management Studio

Pour créer une nouvelle contrainte de validation

  1. 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.

  2. Dans la boîte de dialogue Vérifier les contraintes, cliquez dans le champ Expression puis cliquez sur le bouton de sélection (…).

  3. 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 (').

  4. Cliquez sur  OK.

  5. 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.

  6. 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

  7. Cliquez sur Fermer.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Utilisation de Transact-SQL

Pour créer une nouvelle contrainte de validation

  1. Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. 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).

Icône de flèche utilisée avec le lien Retour en haut[Top]