Non, vous ne pouvez pas le faire - si vous faites référence à une table de parent d'une table enfant, vous devez faire référence à toutes les colonnes de la clé primaire sur la table parent:
ALTER TABLE dbo.ChildTable
ADD CONSTRAINT FK_ChildTable_ParentTable
FOREIGN KEY (col1, col2) REFERENCES dbo.ParentTable(pkCol1, pkCol2)
Vous ne pouvez pas introduire soudainement " statique "dans votre référence.
Ce que vous pouvez faire sur la table des enfants serait de mettre un CONTRAINTE CHECK sur cette deuxième colonne pour en faire une valeur « statique » - mais vous ne pouvez jamais avoir une autre valeur dans cette colonne:
ALTER TABLE dbo.ChildTable
ADD CONSTRAINT chk_col2_Static CHECK (col2 = 4)
Est-ce ce que vous cherchez?
pouvez-vous nous montrer les structures de table pour les deux tables, et comment vous avez essayé de créer la clé étrangère ?? –