221 votes

Ajouter une contrainte unique à la combinaison de deux colonnes

J'ai une table et, d'une manière ou d'une autre, la même personne est entrée dans mon Person table deux fois. Pour l'instant, la clé primaire est juste un numéro automatique mais il y a deux autres champs qui existent et que je veux forcer à être uniques.

Par exemple, les champs sont :

ID  
Name  
Active  
PersonNumber  

Je ne veux qu'un seul enregistrement avec un numéro de personne unique et Active = 1.
(La combinaison des deux champs doit donc être unique).

Quelle est la meilleure façon de faire en sorte que, sur une table existante dans SQL Server, si quelqu'un d'autre insère la même valeur qu'une valeur existante, cela échoue, de sorte que je n'aie pas à m'en préoccuper dans mon code d'application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X