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

Relation de clé étrangère avec les clés primaires composites dans SQL Server 2005

Puisque Table2 a une clé primaire composite (FileID, FileType) , toute référence à celui-ci doit également inclure les deux colonnes .

ALTER TABLE dbo.Table1
  ADD CONSTRAINT FK_Table1_Table2
  FOREIGN KEY(FileID, FileType) REFERENCES Table2(FileID, FileType)

Sauf si vous avez une contrainte/un index unique sur le Table2.FileID champ (mais si c'est le cas :pourquoi n'est-ce pas le PK ? ?), vous ne pouvez pas créer une relation FK uniquement avec des parties du PK sur la table cible - vous ne pouvez tout simplement pas le faire.