Créer des contraintes uniques
Vous pouvez créer une contrainte unique dans SQL Server 2012 à l'aide de SQL Server Management Studio ou Transact-SQL pour interdire l'entrée de doublons dans des colonnes spécifiques qui ne participent pas à une clé primaire. La création d'une contrainte unique crée automatiquement un index unique correspondant.
Dans cette rubrique
Avant de commencer :
Sécurité
Pour créer une contrainte unique à l'aide de :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Sécurité
Autorisations
Requiert une autorisation ALTER sur la table.
[Top]
Utilisation de SQL Server Management Studio
Pour créer une contrainte unique
Dans l'Explorateur d'objets, cliquez avec le bouton droit sur la table à laquelle vous souhaitez ajouter une contrainte unique et cliquez sur Conception.
Dans le menu Concepteur de tables, cliquez sur Index/Clés.
Dans la boîte de dialogue Index/Clés, cliquez sur Ajouter.
Dans la grille sous Général, cliquez sur Type et choisissez Clé unique dans la zone de liste déroulante située à droite de la propriété.
Dans le menu Fichier, cliquez sur Enregistrer table name.
[Top]
Utilisation de Transact-SQL
Pour créer une contrainte unique
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. L'exemple crée la table TransactionHistoryArchive4 et une contrainte unique sur la colonne TransactionID.
USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Pour créer une contrainte unique sur une table existante
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. L'exemple crée une contrainte unique sur les colonnes PasswordHash et PasswordSalt dans la table Person.Password.
USE AdventureWorks2012; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
Pour créer une contrainte unique sur une nouvelle table
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. L'exemple crée une table et définit une contrainte unique sur la colonne TransactionID
USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Pour plus d'informations, consultez ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL) et table_constraint (Transact-SQL).
[Top]