Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fremdschlüsselbeziehung mit zusammengesetzten Primärschlüsseln in SQL Server 2005

Da Tabelle2 einen zusammengesetzten Primärschlüssel (FileID, FileType) hat , dann muss jeder Verweis darauf auch beide Spalten enthalten .

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

Es sei denn, Sie haben eine eindeutige Einschränkung/einen eindeutigen Index für Table2.FileID -Feld (aber wenn ja:warum ist das nicht der PK??), können Sie keine FK-Beziehung nur zu Teilen des PK in der Zieltabelle erstellen - das geht einfach nicht.