Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Contrainte unique au sein d'un groupe d'enregistrements où une valeur est la même

J'ai commencé une nouvelle réponse depuis que j'ai mal mutilé la première.

Il semble que vous pourriez résoudre le problème en repensant un peu la conception de votre table pour éviter de faire de la force brute une contrainte pour implémenter votre règle métier.

Que diriez-vous de supprimer la colonne IsPrimary de MyTable et d'ajouter une colonne PrimaryPersonID à l'autre table qui fait référence à la personne principale ?

De cette façon, la structure elle-même imposerait qu'une seule entrée dans la table FK soit principale pour chaque personne.