コンポジットがある場合 主キー、次にすべて それを参照する外部キー制約は、すべての列を使用する必要があります 複合主キーの。
だからあなたの場合 - TableTwo 必須 参照 TableOne(ReportID, Date)
これを回避する唯一の方法は、UNIQUE INDEX を作成することです。 TableOne (ReportID) で - 次に、その一意の制約のみへの外部キー参照を作成できます。
しかし、ここで疑問が生じます:なぜ ReportID ではないのですか? すでに一意である場合は、主キーのみ (UNIQUE INDEX を配置できるため) NULL (複合 PK の一部であるため) ?
ステップ 1:UNIQUE INDEX を作成する :
CREATE UNIQUE NONCLUSTERED INDEX UIX_TableOne ON dbo.TableOne(ReportID);プレ>ステップ 2:
TableTwoから外部キーを作成する :ALTER TABLE dbo.TableTwo ADD CONSTRAINT FK_TableTwo_TableOne FOREIGN KEY(ReportID) REFERENCES dbo.TableOne(ReportID)プレ>