J'ai une table avec une clé primaire, mais je veux que deux autres colonnes soient contraintes pour que la combinaison des deux soit toujours garantie comme unique.
(un exemple stupide : Dans une table BOOKS, la colonne IBAN est la clé primaire, mais la combinaison des colonnes Title et Author doit aussi toujours être unique).
Dans le Management Studio du serveur SQL, il est possible de créer un nouvel index et de définir IsUnique sur Oui, ou de créer une nouvelle clé unique.
Quelle est la différence entre les deux approches, et laquelle convient le mieux à quels objectifs ?
5 votes
Juste au cas où cela serait pertinent : si vous avez besoin de permettre à plusieurs lignes d'être NULL mais que toutes les lignes non NULL doivent être UNIQUES : soit vous imposez cela avec un Trigger, soit une VUE avec un INDEX UNIQUE - CREATE VIEW xxx AS SELECT Title, Author FROM Books WHERE (Title + Author) IS NOT NULL puis créez un index sur cette vue.
0 votes
Merci Kirsten, c'était une information utile !
1 votes
Voir aussi stackoverflow.com/questions/366186/