J'ai une table avec trois colonnes, l'ID de la relation, l'ID de l'objet associé et la valeur de l'objet. La table peut avoir autant de relations ID-Valeur répétées sauf lorsque la valeur est 0 pour le même ID.Contrainte de colonne multiple
Correct Incorrect +--------+--------+-------+ +--------+--------+-------+ | PK_ID | ID | Value | | PK_ID | ID | Value | +--------+--------+-------+ +--------+--------+-------+ | 1 | 1 | 1 | | 1 | 1 | 1 | | 2 | 1 | 1 | | 2 | 1 | 1 | | 3 | 2 | 0 | | 3 | 2 | 0 | +--------+--------+-------+ | 4 | 2 | 0 | +--------+--------+-------+
La question est de savoir comment puis-je l'appliquer à ne pas laisser une relation ID-valeur répétée lorsque la valeur est 0?
ne peut le faire avec une contrainte de vérification. Utilisez un index filtré ou une vue avec une contrainte unique en fonction de la version de SQL Server. –
@Martin oui c'est exactement ce dont j'ai besoin, mais je suis sur SQL Server 05 – PedroC88
Vous devez utiliser la technique de vue indexée alors. Il y a un exemple dans ma réponse dans le lien "duplicata possible". –