J'essaie de déterminer comment dans SQL Server pour créer une table qui a une colonne qui peut être nulle ou avoir une valeur. S'il a une valeur, il doit être contraint à une clé primaire existante dans la table, à l'exception de la ligne dans laquelle la valeur est stockée.SQL Server - Colonne contrainte dans une table à la clé primaire OU null dans la même table
Ai-je besoin d'une contrainte de vérification? Si oui, quelle est l'expression?
La raison en est que les objets de la table peuvent être des enfants d'autres tables. Idéalement, je préfère faire cela sans table de correspondance.
Le nom de la clé primaire est 'id'.
La colonne que j'essaie de contraindre est 'parentId'. parentId peut être NULL OU se référer à un identifiant valide pour une autre ligne de la table.
Vive. Les exigences ont changé et maintenant chaque élément doit avoir un ou plusieurs parents, c'est-à-dire qu'il peut apparaître plus d'une fois dans l'espace de noms. Cela résout la question initiale. – Sam
Je dois aimer quand ces exigences changent! Les nouvelles exigences signifient que cette relation a juste une tonne plus facile à gérer, bonne chance! – JonVD