Comment créer une contrainte unique sur une table existante dans SQL Server 2005?
Je recherche à la fois le TSQL et comment le faire dans le diagramme de base de données.
sql
sql-server
constraints
David Basarab
la source
la source
Dans SQL Server Management Studio Express:
la source
la source
Avertissement: une seule ligne nulle peut figurer dans la colonne que vous avez définie comme étant unique.
Vous pouvez le faire avec un index filtré dans SQL 2008:
Voir La valeur du champ doit être unique sauf si elle est NULL pour une plage de réponses.
la source
la source
J'ai également trouvé que vous pouvez le faire via les diagrammes de base de données.
En faisant un clic droit sur le tableau et en sélectionnant Index / Clés ...
Cliquez sur le bouton «Ajouter» et changez les colonnes en colonne (s) que vous souhaitez rendre uniques.
Le changement est unique à Oui.
Cliquez sur fermer et enregistrez le diagramme, et il l'ajoutera au tableau.
la source
Vous recherchez quelque chose comme ce qui suit
Documents MSDN
la source
Pour créer une contrainte UNIQUE sur une ou plusieurs colonnes lorsque la table est déjà créée, utilisez le SQL suivant:
Pour autoriser la dénomination d'une contrainte UNIQUE pour la requête ci-dessus
La requête prise en charge par MySQL / SQL Server / Oracle / MS Access.
la source
UNIQUE NONCLUSTERED
et les optionsPAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
?Dans le diagramme du studio de gestion, choisissez la table, faites un clic droit pour ajouter une nouvelle colonne si vous le souhaitez, faites un clic droit sur la colonne et choisissez "Vérifier les contraintes", vous pouvez en ajouter une.
la source
Dans certaines situations, il peut être souhaitable de s'assurer que la clé unique n'existe pas avant de la créer. Dans de tels cas, le script ci-dessous peut vous aider:
la source